<SEC-DOCUMENT>0001193125-24-135380.txt : 20240509
<SEC-HEADER>0001193125-24-135380.hdr.sgml : 20240509
<ACCEPTANCE-DATETIME>20240509171121
ACCESSION NUMBER:		0001193125-24-135380
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		70
CONFORMED PERIOD OF REPORT:	20240331
FILED AS OF DATE:		20240509
DATE AS OF CHANGE:		20240509

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			TREX CO INC
		CENTRAL INDEX KEY:			0001069878
		STANDARD INDUSTRIAL CLASSIFICATION:	LUMBER & WOOD PRODUCTS (NO FURNITURE) [2400]
		ORGANIZATION NAME:           	04 Manufacturing
		IRS NUMBER:				541910453
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-14649
		FILM NUMBER:		24931851

	BUSINESS ADDRESS:	
		STREET 1:		2500 TREX WAY
		CITY:			WINCHESTER
		STATE:			VA
		ZIP:			22601
		BUSINESS PHONE:		5405426300

	MAIL ADDRESS:	
		STREET 1:		2500 TREX WAY
		CITY:			WINCHESTER
		STATE:			VA
		ZIP:			22601
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>d788119d10q.htm
<DESCRIPTION>10-Q
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns:trex="http://www.trex.com/20240331" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:deprecated="http://www.xbrl.org/2009/arcrole/deprecated" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:currency="http://xbrl.sec.gov/currency/2023" xmlns:exch="http://xbrl.sec.gov/exch/2023" xmlns:naics="http://xbrl.sec.gov/naics/2023" xmlns:sic="http://xbrl.sec.gov/sic/2023" xmlns:stpr="http://xbrl.sec.gov/stpr/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:ecd="http://xbrl.sec.gov/ecd/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2022-02-16" xmlns:xbrll="http://www.xbrl.org/2003/linkbase" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>10-Q</title>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
</head>
<body style="line-height:normal;background-color:white;">
<h5><a href="#toc">Table of Contents</a></h5>
<div style="display: none"><ix:header><ix:hidden><ix:nonNumeric name="dei:AmendmentFlag" contextRef="P01_01_2024To03_31_2024" id="ixv-7412">false</ix:nonNumeric><ix:nonNumeric name="dei:DocumentFiscalPeriodFocus" contextRef="P01_01_2024To03_31_2024" id="ixv-7413">Q1</ix:nonNumeric><ix:nonNumeric name="dei:EntityCentralIndexKey" contextRef="P01_01_2024To03_31_2024" id="ixv-7414">0001069878</ix:nonNumeric><ix:nonNumeric name="dei:CurrentFiscalYearEndDate" contextRef="P01_01_2024To03_31_2024" id="ixv-7415">--12-31</ix:nonNumeric></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="trex-20240331.xsd"/></ix:references><ix:resources><xbrli:context id="P01_01_2023To03_31_2023"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2023-01-01</xbrli:startDate> <xbrli:endDate>2023-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2023"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:instant>2023-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2024"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:instant>2024-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn04_25_2024"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:instant>2024-04-25</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn10_26_2021"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:instant>2021-10-26</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2022"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:instant>2022-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2023"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:instant>2023-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2023To03_31_2023_StockAppreciationRightsSARSMemberusgaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockAppreciationRightsSARSMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2023-01-01</xbrli:startDate> <xbrli:endDate>2023-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2023To03_31_2023_RestrictedStockMemberusgaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2023-01-01</xbrli:startDate> <xbrli:endDate>2023-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2023To03_31_2023_PerformanceBasedRestrictedStockAndrestrictedStockunitsMemberusgaapAwardTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:PerformanceBasedRestrictedStockAndrestrictedStockunitsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2023-01-01</xbrli:startDate> <xbrli:endDate>2023-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2023To03_31_2023_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockAppreciationRightsSARSMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2023-01-01</xbrli:startDate> <xbrli:endDate>2023-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2023To03_31_2023_TimeBasedRestrictedStockandRestrictedstockUnitsMemberusgaapAwardTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:TimeBasedRestrictedStockandRestrictedstockUnitsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2023-01-01</xbrli:startDate> <xbrli:endDate>2023-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2023To03_31_2023_EmployeeStockPurchasePlanMemberusgaapAwardTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:EmployeeStockPurchasePlanMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2023-01-01</xbrli:startDate> <xbrli:endDate>2023-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2023To03_31_2023_RetainedEarningsMemberusgaapStatementEquityComponentsAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2023-01-01</xbrli:startDate> <xbrli:endDate>2023-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2023To03_31_2023_StockAppreciationRightsMemberusgaapAwardTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:StockAppreciationRightsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2023-01-01</xbrli:startDate> <xbrli:endDate>2023-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2023To03_31_2023_RestrictedStockMemberusgaapAwardTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2023-01-01</xbrli:startDate> <xbrli:endDate>2023-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2023To03_31_2023_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2023-01-01</xbrli:startDate> <xbrli:endDate>2023-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2023To03_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2023-01-01</xbrli:startDate> <xbrli:endDate>2023-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2023To03_31_2023_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:ProductWarrantyMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2023-01-01</xbrli:startDate> <xbrli:endDate>2023-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2023To03_31_2023_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:SurfaceFlakingMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2023-01-01</xbrli:startDate> <xbrli:endDate>2023-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2023To03_31_2023_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2023-01-01</xbrli:startDate> <xbrli:endDate>2023-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockAppreciationRightsSARSMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_RestrictedStockMemberusgaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_PerformanceBasedRestrictedStockAndrestrictedStockunitsMemberusgaapAwardTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:PerformanceBasedRestrictedStockAndrestrictedStockunitsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockAppreciationRightsSARSMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_TimeBasedRestrictedStockandRestrictedstockUnitsMemberusgaapAwardTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:TimeBasedRestrictedStockandRestrictedstockUnitsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_EmployeeStockPurchasePlanMemberusgaapAwardTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:EmployeeStockPurchasePlanMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_RetainedEarningsMemberusgaapStatementEquityComponentsAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_StockAppreciationRightsMemberusgaapAwardTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:StockAppreciationRightsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_RestrictedStockMemberusgaapAwardTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="trex:AgreementAxis">trex:FifthAmendmentAndRestatedAgreementMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_CommonStockMemberusgaapStatementEquityComponentsAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_MaximumMembersrtRangeAxis_RevolvingBLoanMemberusgaapCreditFacilityAxis_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMemberusgaapVariableRateAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">trex:RevolvingBLoanMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_MinimumMembersrtRangeAxis_RevolvingBLoanMemberusgaapCreditFacilityAxis_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMemberusgaapVariableRateAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">trex:RevolvingBLoanMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMemberusgaapVariableRateAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="trex:AgreementAxis">trex:FifthAmendmentAndRestatedAgreementMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_BaseRateMemberusgaapVariableRateAxis_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="trex:AgreementAxis">trex:FifthAmendmentAndRestatedAgreementMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:ProductWarrantyMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:SurfaceFlakingMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis_ResidentialUseMemberusgaapGuaranteeObligationsByNatureAxis_SelectDeckingAndUniversalFasciaMembersrtProductOrServiceAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">trex:ResidentialUseMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">trex:SelectDeckingAndUniversalFasciaMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:SupplyCommitmentAxis">trex:ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMembersrtProductOrServiceAxis_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis_ResidentialUseMemberusgaapGuaranteeObligationsByNatureAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">trex:ResidentialUseMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">trex:EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:SupplyCommitmentAxis">trex:ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_CommercialUseMemberusgaapGuaranteeObligationsByNatureAxis_SignatureRailingAndTranscendCladdingMembersrtProductOrServiceAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">trex:CommercialUseMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">trex:SignatureRailingAndTranscendCladdingMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_CommercialUseMemberusgaapGuaranteeObligationsByNatureAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">trex:CommercialUseMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis_ResidentialUseMemberusgaapGuaranteeObligationsByNatureAxis_TranscendDeckingMembersrtProductOrServiceAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">trex:ResidentialUseMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">trex:TranscendDeckingMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:SupplyCommitmentAxis">trex:ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis_ResidentialUseMemberusgaapGuaranteeObligationsByNatureAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">trex:ResidentialUseMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:SupplyCommitmentAxis">trex:ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_CommercialUseMemberusgaapGuaranteeObligationsByNatureAxis_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">trex:CommercialUseMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:SupplyCommitmentAxis">trex:ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis_ResidentialAndCommercialUseMemberusgaapGuaranteeObligationsByNatureAxis_SignatureRailingMembersrtProductOrServiceAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">trex:ResidentialAndCommercialUseMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">trex:SignatureRailingMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:SupplyCommitmentAxis">trex:ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_InternalRevenueServiceIRSMemberusgaapIncomeTaxAuthorityNameAxis_LatestTaxYearMemberusgaapTaxPeriodAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:InternalRevenueServiceIRSMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">us-gaap:LatestTaxYearMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_EarliestTaxYearMemberusgaapTaxPeriodAxis_InternalRevenueServiceIRSMemberusgaapIncomeTaxAuthorityNameAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:InternalRevenueServiceIRSMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">us-gaap:EarliestTaxYearMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMemberusgaapAwardTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_TimeBasedRestrictedStockUnitsMemberusgaapAwardTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:TimeBasedRestrictedStockUnitsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_PerformanceBasedRestrictedStockUnitsMemberusgaapAwardTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2024To03_31_2024_TwoThousandTwentyThreeStockRepurchaseProgramMemberusgaapShareRepurchaseProgramAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">trex:TwoThousandTwentyThreeStockRepurchaseProgramMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-01-01</xbrli:startDate> <xbrli:endDate>2024-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2024_ResidentialPortfolioSegmentMemberusgaapFinancingReceivablePortfolioSegmentAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">us-gaap:ResidentialPortfolioSegmentMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2024-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2024_TwoThousandFourteenStockIncentivePlanMemberusgaapPlanNameAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">trex:TwoThousandFourteenStockIncentivePlanMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2024-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2024_InternetDomainNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2024-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2024_MinimumMembersrtRangeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2024-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2024_MaximumMembersrtRangeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2024-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2024_RevolvingBLoanMemberusgaapCreditFacilityAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">trex:RevolvingBLoanMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2024-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2024_MinimumMembersrtRangeAxis_RevolvingBLoanMemberusgaapCreditFacilityAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">trex:RevolvingBLoanMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2024-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2024_MaximumMembersrtRangeAxis_RevolvingBLoanMemberusgaapCreditFacilityAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">trex:RevolvingBLoanMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2024-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2024_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2024-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2023_ResidentialPortfolioSegmentMemberusgaapFinancingReceivablePortfolioSegmentAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">us-gaap:ResidentialPortfolioSegmentMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2023-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn05_18_2022_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="trex:AgreementAxis">trex:FifthAmendmentAndRestatedAgreementMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2022-05-18</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn05_18_2022_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_LetterOfCreditMemberTREXCreditFacilityOneAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="trex:AgreementAxis">trex:FifthAmendmentAndRestatedAgreementMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="trex:CreditFacilityOneAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2022-05-18</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn05_18_2022_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis_SwinglineLetterOfCreditMemberTREXCreditFacilityOneAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="trex:AgreementAxis">trex:FifthAmendmentAndRestatedAgreementMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="trex:CreditFacilityOneAxis">trex:SwinglineLetterOfCreditMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2022-05-18</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn02_16_2018_TwoThousandEighteenStockRepurchaseProgramMemberusgaapShareRepurchaseProgramAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">trex:TwoThousandEighteenStockRepurchaseProgramMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2018-02-16</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="P05_04_2023To05_04_2023_TwoThousandTwentyThreeStockRepurchaseProgramMemberusgaapShareRepurchaseProgramAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">trex:TwoThousandTwentyThreeStockRepurchaseProgramMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2023-05-04</xbrli:startDate> <xbrli:endDate>2023-05-04</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2023To12_31_2023_PerformanceBasedRestrictedStockAdjustmentMemberusgaapAwardTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:PerformanceBasedRestrictedStockAdjustmentMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2023-01-01</xbrli:startDate> <xbrli:endDate>2023-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2021To12_31_2021_PerformanceBasedRestrictedStockAdjustmentMemberusgaapAwardTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:PerformanceBasedRestrictedStockAdjustmentMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2021-01-01</xbrli:startDate> <xbrli:endDate>2021-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2022_CommonStockMemberusgaapStatementEquityComponentsAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2022-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2022_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2022-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2022_RetainedEarningsMemberusgaapStatementEquityComponentsAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2022-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2022_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2022-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2022_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:ProductWarrantyMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2022-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2022_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2022-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2022_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:SurfaceFlakingMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2022-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2023_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2023-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2023_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:SurfaceFlakingMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2023-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2023_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:ProductWarrantyMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2023-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2023_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2023-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2023-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2023_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2023-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2023_RetainedEarningsMemberusgaapStatementEquityComponentsAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2023-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2023-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2023_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2023-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2023_RetainedEarningsMemberusgaapStatementEquityComponentsAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2023-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2023_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2023-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2023_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2023-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2023_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:SurfaceFlakingMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2023-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2023_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:ProductWarrantyMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2023-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2024_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:SurfaceFlakingMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2024-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2024_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:ProductWarrantyMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2024-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2024_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2024-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2024_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2024-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2024_RetainedEarningsMemberusgaapStatementEquityComponentsAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2024-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2024_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2024-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2024_CommonStockMemberusgaapStatementEquityComponentsAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069878</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2024-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:unit id="Unit_USD"> <xbrli:measure>iso4217:USD</xbrli:measure> </xbrli:unit><xbrli:unit id="Unit_shares"> <xbrli:measure>xbrli:shares</xbrli:measure> </xbrli:unit><xbrli:unit id="Unit_pure"> <xbrli:measure>xbrli:pure</xbrli:measure> </xbrli:unit><xbrli:unit id="Unit_Year"> <xbrli:measure>utr:Year</xbrli:measure> </xbrli:unit><xbrli:unit id="Unit_acre"> <xbrli:measure>utr:acre</xbrli:measure> </xbrli:unit><xbrli:unit id="Unit_USD_per_Share"> <xbrli:divide> <xbrli:unitNumerator> <xbrli:measure>iso4217:USD</xbrli:measure> </xbrli:unitNumerator> <xbrli:unitDenominator> <xbrli:measure>xbrli:shares</xbrli:measure> </xbrli:unitDenominator> </xbrli:divide> </xbrli:unit><xbrli:unit id="Unit_Segment"> <xbrli:measure>trex:Segment</xbrli:measure> </xbrli:unit></ix:resources></ix:header></div><div><div><div style="line-height:normal;background-color:white;display: inline;"><div style="text-align:center"><div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto"><div style="line-height:1.0pt;margin-top:0pt;margin-bottom:0pt;border-bottom:1px solid #000000">&#160;</div><div style="line-height:3.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1px solid #000000">&#160;</div><div style="margin-top: 4pt; margin-bottom: 0pt; font-size: 16pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">UNITED STATES </div></div><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 16pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">SECURITIES AND EXCHANGE COMMISSION </div></div><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 12pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">Washington, D.C. 20549 </div></div><div style="font-size:3pt;margin-top:0pt;margin-bottom:0pt">&#160;</div><div style="text-align:center"><div style="line-height:6.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1.00pt solid #000000;width:21%;text-align:center;margin-left: auto;margin-right: auto">&#160;</div></div><div style="margin-top: 3pt; margin-bottom: 0pt; font-size: 16pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">FORM <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"><ix:nonNumeric name="dei:DocumentType" contextRef="P01_01_2024To03_31_2024" id="ixv-8214">10-Q</ix:nonNumeric></div> </div></div><div style="font-size:3pt;margin-top:0pt;margin-bottom:0pt">&#160;</div><div style="text-align:center"><div style="line-height:6.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1.00pt solid #000000;width:21%;text-align:center;margin-left: auto;margin-right: auto">&#160;</div></div><div style="font-size:3pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:11pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"></div><ix:nonNumeric name="dei:DocumentQuarterlyReport" contextRef="P01_01_2024To03_31_2024" format="ixt-sec:boolballotbox" id="ixv-8215">&#9746;</ix:nonNumeric><div style="letter-spacing: 0px; top: 0px;display:inline;"></div><div style="letter-spacing: 0px; top: 0px;display:inline;"></div></td>
<td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 11pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934 </div></div></td></tr></table><div style="margin-top: 4pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">For the quarterly period ended <ix:nonNumeric name="dei:DocumentPeriodEndDate" contextRef="P01_01_2024To03_31_2024" format="ixt:date-monthname-day-year-en" id="ixv-8216">March 31, <ix:nonNumeric name="dei:DocumentFiscalYearFocus" contextRef="P01_01_2024To03_31_2024" id="ixv-8217">2024</ix:nonNumeric></ix:nonNumeric> </div></div><div style="margin-top: 4pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">OR </div></div><div style="font-size:4pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:11pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"></div><ix:nonNumeric name="dei:DocumentTransitionReport" contextRef="P01_01_2024To03_31_2024" format="ixt-sec:boolballotbox" id="ixv-8218">&#9744;</ix:nonNumeric><div style="letter-spacing: 0px; top: 0px;display:inline;"></div><div style="letter-spacing: 0px; top: 0px;display:inline;"></div></td>
<td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 11pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934 </div></div></td></tr></table><div style="margin-top: 4pt; margin-bottom: 0pt; font-size: 9.5pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">For the transition period from &#8195;&#8195;&#8195;&#8195;&#8195; to &#8195;&#8195;&#8195;&#8195;&#8195; </div></div><div style="margin-top: 4pt; margin-bottom: 0pt; font-size: 9.5pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">Commission File Number: <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"><ix:nonNumeric name="dei:EntityFileNumber" contextRef="P01_01_2024To03_31_2024" id="ixv-8219">001-14649</ix:nonNumeric></div> </div></div><div style="font-size:3pt;margin-top:0pt;margin-bottom:0pt">&#160;</div><div style="text-align:center"><div style="line-height:6.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1.00pt solid #000000;width:21%;text-align:center;margin-left: auto;margin-right: auto">&#160;</div></div><div style="font-size:3pt;margin-top:0pt;margin-bottom:0pt">&#160;</div><div style="margin-top:0pt;margin-bottom:0pt;text-align:center">
<img alt="LOGO" src="g788119dsp1.jpg"/> </div><div style="margin-top: 4pt; margin-bottom: 0pt; font-size: 22pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;"><ix:nonNumeric name="dei:EntityRegistrantName" contextRef="P01_01_2024To03_31_2024" id="ixv-8220">Trex Company, Inc.</ix:nonNumeric> </div></div><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 9.5pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">(Exact name of registrant as specified in its charter) </div></div><div style="font-size:3pt;margin-top:0pt;margin-bottom:0pt">&#160;</div><div style="text-align:center"><div style="line-height:6.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1.00pt solid #000000;width:21%;text-align:center;margin-left: auto;margin-right: auto">&#160;</div></div><div style="font-size:3pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt;width:100%;border:0;margin:0 auto">
<tr>
<td style="width:50%"/>
<td style="vertical-align:bottom;width:1%"/>
<td style="width:48%"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:9pt">
<td style="vertical-align:top;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonNumeric name="dei:EntityIncorporationStateCountryCode" contextRef="P01_01_2024To03_31_2024" format="ixt-sec:stateprovnameen" id="ixv-8221">Delaware</ix:nonNumeric></div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"><ix:nonNumeric name="dei:EntityTaxIdentificationNumber" contextRef="P01_01_2024To03_31_2024" id="ixv-8222">54-1910453</ix:nonNumeric></div></div></div></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:top;text-align:center;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">(State or other jurisdiction of</div></div><div style="margin-top: 0pt; margin-bottom: 1pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">incorporation or organization)</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top;text-align:center;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">(I.R.S. Employer</div></div><div style="margin-top: 0pt; margin-bottom: 1pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Identification No.)</div></div></td></tr>
<tr style="font-size:1pt">
<td style="height:3pt"/>
<td colspan="2" style="height:3pt"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:9pt">
<td style="vertical-align:top;text-align:center;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 9pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;"><ix:nonNumeric name="dei:EntityAddressAddressLine1" contextRef="P01_01_2024To03_31_2024" id="ixv-8223">2500 Trex Way</ix:nonNumeric></div></div><div style="margin-top: 0pt; margin-bottom: 1pt; font-size: 9pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;"><ix:nonNumeric name="dei:EntityAddressCityOrTown" contextRef="P01_01_2024To03_31_2024" id="ixv-8224">Winchester</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressStateOrProvince" contextRef="P01_01_2024To03_31_2024" format="ixt-sec:stateprovnameen" id="ixv-8225">Virginia</ix:nonNumeric></div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonNumeric name="dei:EntityAddressPostalZipCode" contextRef="P01_01_2024To03_31_2024" id="ixv-8226">22601</ix:nonNumeric></div></div></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:top;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">(Address of principal executive offices)</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">(Zip Code)</div></div></td></tr></table><div style="margin-top: 4pt; margin-bottom: 0pt; font-size: 9pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">Registrant&#8217;s telephone number, including area code: <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">(<ix:nonNumeric name="dei:CityAreaCode" contextRef="P01_01_2024To03_31_2024" id="ixv-8227">540</ix:nonNumeric>)&#160;<ix:nonNumeric name="dei:LocalPhoneNumber" contextRef="P01_01_2024To03_31_2024" id="ixv-8228">542-6300</ix:nonNumeric></div> </div></div><div style="margin-top: 4pt; margin-bottom: 0pt; font-size: 9pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">Not Applicable </div></div><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">(Former name, former address and former fiscal year, if changed since last report) </div></div><div style="font-size:3pt;margin-top:0pt;margin-bottom:0pt">&#160;</div><div style="text-align:center"><div style="line-height:6.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1.00pt solid #000000;width:21%;text-align:center;margin-left: auto;margin-right: auto">&#160;</div></div><div style="margin-top: 3pt; margin-bottom: 0pt; font-size: 9pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">Securities registered pursuant to Section&#160;12(b) of the Act: </div></div><div style="font-size:4pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt;width:100%;border:0;margin:0 auto">
<tr>
<td style="width:35%"/>
<td style="vertical-align:bottom;width:1%"/>
<td style="width:32%"/>
<td style="vertical-align:bottom;width:1%"/>
<td style="width:31%"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="border-bottom:1.00pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center;"><div style="margin-top: 0pt; margin-bottom: 1pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Title of each class</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="margin-top: 0pt; margin-bottom: 1pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Trading Symbol(s)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="margin-top: 0pt; margin-bottom: 1pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Name of each exchange on which registered</div></div></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:9pt">
<td style="vertical-align:top;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonNumeric name="dei:Security12bTitle" contextRef="P01_01_2024To03_31_2024" id="ixv-8229">Common stock</ix:nonNumeric></div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:top;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonNumeric name="dei:TradingSymbol" contextRef="P01_01_2024To03_31_2024" id="ixv-8230">TREX</ix:nonNumeric></div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:top;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonNumeric name="dei:SecurityExchangeName" contextRef="P01_01_2024To03_31_2024" format="ixt-sec:exchnameen" id="ixv-8231">New York Stock Exchange</ix:nonNumeric></div></div></td></tr></table><div style="margin-top:4pt; margin-bottom:0pt; font-size:9pt; font-family:Times New Roman">Indicate by check mark whether the registrant (1)&#160;has filed all reports required to be filed by Section&#160;13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2)&#160;has been subject to such filing requirements for the past 90 days.&#8195;<ix:nonNumeric name="dei:EntityCurrentReportingStatus" contextRef="P01_01_2024To03_31_2024" id="ixv-8232">Yes</ix:nonNumeric>&#8194;&#9746;&#8195;No&#8194;&#9744; </div><div style="margin-top:4pt; margin-bottom:0pt; font-size:9pt; font-family:Times New Roman">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">S-T</div> during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).&#8195;<ix:nonNumeric name="dei:EntityInteractiveDataCurrent" contextRef="P01_01_2024To03_31_2024" id="ixv-8233">Yes</ix:nonNumeric>&#8194;&#9746;&#8195;No&#8194;&#9744; </div><div style="margin-top:4pt; margin-bottom:0pt; font-size:9pt; font-family:Times New Roman">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">non-accelerated</div> filer, a smaller reporting company or an emerging growth company. See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company,&#8221; and &#8220;emerging growth company&#8221; in Rule <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">12b-2</div> of the Exchange Act.: </div><div style="font-size:4pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:9pt;width:100%;border:0;margin:0 auto">
<tr>
<td style="width:15%"/>
<td style="vertical-align:bottom;width:1%"/>
<td style="width:61%"/>
<td style="vertical-align:bottom;width:1%"/>
<td style="width:19%"/>
<td style="vertical-align:bottom;width:1%"/>
<td style="width:2%"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:9pt">
<td style="vertical-align:bottom"><ix:nonNumeric name="dei:EntityFilerCategory" contextRef="P01_01_2024To03_31_2024" format="ixt-sec:entityfilercategoryen" id="ixv-8234">Large accelerated filer</ix:nonNumeric></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#9746;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">Accelerated&#160;filer</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#9744;</td></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td colspan="2" style="height:6pt"/>
<td colspan="2" style="height:6pt"/>
<td colspan="2" style="height:6pt"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:9pt">
<td style="vertical-align:bottom">Non-accelerated filer</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#9744;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">Smaller&#160;reporting&#160;company</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><ix:nonNumeric name="dei:EntitySmallBusiness" contextRef="P01_01_2024To03_31_2024" format="ixt-sec:boolballotbox" id="ixv-8235">&#9744;</ix:nonNumeric></td></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td colspan="2" style="height:6pt"/>
<td colspan="2" style="height:6pt"/>
<td colspan="2" style="height:6pt"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:9pt">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">Emerging&#160;growth&#160;company</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><ix:nonNumeric name="dei:EntityEmergingGrowthCompany" contextRef="P01_01_2024To03_31_2024" format="ixt-sec:boolballotbox" id="ixv-8236">&#9744;</ix:nonNumeric></td></tr></table><div style="margin-top:4pt; margin-bottom:0pt; font-size:9pt; font-family:Times New Roman">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section&#160;13(a) of the Exchange Act&#8194;&#9744; </div><div style="margin-top:4pt; margin-bottom:0pt; font-size:9pt; font-family:Times New Roman">Indicate by check mark whether the registrant is a shell company (as defined by Rule <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">12b-2</div> of the Exchange Act):&#8195;Yes&#8194;&#9744;&#8195;No&#8194;<ix:nonNumeric name="dei:EntityShellCompany" contextRef="P01_01_2024To03_31_2024" format="ixt:fixed-false" id="ixv-8237">&#9746;</ix:nonNumeric> </div><div style="margin-top:4pt; margin-bottom:0pt; font-size:9pt; font-family:Times New Roman">The number of shares of the registrant&#8217;s common stock, par value $0.01 per share, outstanding at April&#160;25, 2024 was <ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="PAsOn04_25_2024" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8238">108,692,757</ix:nonFraction> shares. </div><div style="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&#160;</div><div style="line-height:3.0pt;margin-top:0pt;margin-bottom:0pt;border-bottom:1px solid #000000">&#160;</div><div style="line-height:3.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1px solid #000000">&#160;</div></div></div></div></div></div>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<hr style="color:#999999;height:3px;width:100%"/>
<h5><a href="#toc">Table of Contents</a></h5>


<div style="text-align:center"><div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto">
 <p style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;font-weight:bold;text-align:center">TREX COMPANY, INC. </p> <p style="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;font-weight:bold;text-align:center" id="toc">INDEX </p> <p style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table cellspacing="0" cellpadding="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:100%;border:0;margin:0 auto">


<tr>

<td style="width:9%"/>

<td style="vertical-align:bottom;width:1%"/>
<td style="width:87%"/>

<td style="vertical-align:bottom;width:1%"/>
<td/>
<td/>
<td/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">Page</span></td>
<td style="vertical-align:bottom">&#160;</td></tr>


<tr style="font-size:1pt">
<td style="height:6pt" colspan="3"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top" colspan="3"><span style="font-weight:bold"><a href="#tx788119_1">PART I FINANCIAL INFORMATION </a></span></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><span style="font-weight:bold">&#160;</span></td>
<td style="white-space:nowrap;vertical-align:bottom" align="right"><span style="font-weight:bold">2</span></td>
<td style="white-space:nowrap;vertical-align:bottom"><span style="font-weight:bold">&#160;</span></td></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:3.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Item&#160;1.</p></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"><a href="#tx788119_2">Condensed Consolidated Financial Statements</a></p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" align="right">2</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"><a href="#tx788119_3">Condensed Consolidated Statements of Comprehensive Income for the Three Months Ended March&#160;31, 2024 and March&#160;31, 2023 (unaudited)</a></p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">2</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"><a href="#tx788119_4">Condensed Consolidated Balance Sheets as of March&#160;31, 2024 and December&#160;31, 2023 (unaudited)</a></p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" align="right">3</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"><a href="#tx788119_5">Condensed Consolidated Statements of Changes in Stockholders&#8217; Equity for the Three Months Ended March&#160;31, 2024 and March&#160;31, 2023 (unaudited)</a></p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">4</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"><a href="#tx788119_6">Condensed Consolidated Statements of Cash Flows for the Three Months Ended March&#160;31, 2024 and March&#160;31, 2023 (unaudited)</a></p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">5</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"><a href="#tx788119_7">Notes to Condensed Consolidated Financial Statements (unaudited)</a></p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" align="right">6</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:3.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Item&#160;2.</p></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"><a href="#tx788119_8">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</a></p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" align="right">15</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:3.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Item&#160;3.</p></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"><a href="#tx788119_9">Quantitative and Qualitative Disclosures About Market Risk</a></p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" align="right">23</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:3.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Item&#160;4.</p></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"><a href="#tx788119_10">Controls and Procedures</a></p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">24</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1pt">
<td style="height:6pt" colspan="3"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top" colspan="3"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman;font-weight:bold"><a href="#tx788119_11">PART II OTHER INFORMATION </a></p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><span style="font-weight:bold">&#160;</span></td>
<td style="vertical-align:bottom" align="right"><span style="font-weight:bold">25</span></td>
<td style="white-space:nowrap;vertical-align:bottom"><span style="font-weight:bold">&#160;</span></td></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:3.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Item&#160;1.</p></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"><a href="#tx788119_12">Legal Proceedings</a></p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" align="right">25</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:3.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Item&#160;2.</p></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"><a href="#tx788119_13">Unregistered Sales of Equity Securities and Use of Proceeds</a></p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" align="right">25</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:3.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Item&#160;5.</p></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"><a href="#tx788119_14">Other Information</a></p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" align="right">25</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:3.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Item&#160;6.</p></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"><a href="#tx788119_15">Exhibits</a></p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" align="right">26</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
</table>
 <p style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</p> <p style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">1 </p>

</div></div>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<hr style="color:#999999;height:3px;width:100%"/>
<h5><a href="#toc">Table of Contents</a></h5>
<div style="display: none"><ix:header><ix:hidden><ix:nonFraction name="us-gaap:NumberOfReportableSegments" id="hidden113862737" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_Segment" decimals="0">1</ix:nonFraction><ix:nonNumeric name="us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="hidden113862998" contextRef="PAsOn03_31_2024">http://www.trex.com/20240331#AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty</ix:nonNumeric><ix:nonNumeric name="us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="hidden113862999" contextRef="PAsOn12_31_2023">http://www.trex.com/20240331#AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty</ix:nonNumeric></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="trex-20240331.xsd"/></ix:references></ix:header></div><div> <div> <div style="line-height:normal;background-color:white;display: inline;"> <div style="text-align:center"> <div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto"> <div id="tx788119_1" style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">PART I </div></div> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">FINANCIAL INFORMATION </div></div> <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td id="tx788119_2" style="width:9%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Item&#8201;1.</div></div></td>
<td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">Condensed Consolidated Financial Statements </div></div> </td> </tr> </table> <div style="margin-top: 12pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">TREX COMPANY, INC. </div></div> <div id="tx788119_3" style="margin-top: 12pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">Condensed Consolidated Statements of Comprehensive Income </div></div> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">(Unaudited) </div> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">(In thousands, except share and per share data) </div> <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:100%;border:0;margin:0 auto">
<tr>
<td style="width:78%"/>
<td style="vertical-align:bottom;width:5%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:5%"/>
<td/>
<td/>
<td/> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three Months Ended</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Net sales</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8246">373,635</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8247">238,718</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Cost of sales</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8248">204,023</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8249">144,290</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Gross profit</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8250">169,612</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8251">94,428</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Selling, general and administrative expenses</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8252">50,600</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8253">37,480</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Income from operations</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8254">119,012</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8255">56,948</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Interest (income) expense, net</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:InterestIncomeExpenseNet" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8256">5</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:InterestIncomeExpenseNet" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal" id="ixv-8257">1,985</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Income before income taxes</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8258">119,017</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8259">54,963</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Provision for income taxes</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8260">29,947</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8261">13,832</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Net income</div></div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8262">89,070</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8263">41,131</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Basic earnings per common share</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:num-dot-decimal" id="ixv-8264">0.82</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:num-dot-decimal" id="ixv-8265">0.38</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Basic weighted average common shares outstanding</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8266">108,640,168</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8267">108,771,958</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Diluted earnings per common share</div></div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:num-dot-decimal" id="ixv-8268">0.82</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:num-dot-decimal" id="ixv-8269">0.38</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Diluted weighted average common shares outstanding</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8270">108,790,625</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8271">108,916,261</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Comprehensive income</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8272">89,070</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8273">41,131</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <div style="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">See Notes to Condensed Consolidated Financial Statements (Unaudited). </div> <div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</div> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">2 </div> </div> </div> <div style="margin-top:1em; margin-bottom:0em; page-break-before:always"></div> <hr style="color:#999999;height:3px;width:100%"/> <div style="font-size: .83em;margin-top : 1.67em;margin-bottom : 1.67em;font-weight: bold;"><a href="#toc">Table of Contents</a></div> </div> </div> </div> <div><div><div style="line-height:normal;background-color:white;display: inline;"><div style="text-align:center"><div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">TREX COMPANY, INC. </div></div><div id="tx788119_4" style="margin-top: 12pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">Condensed Consolidated Balance Sheets </div></div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">(In thousands, except share data) </div><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:100%;border:0;margin:0 auto">
<tr>
<td style="width:82%"/>
<td style="vertical-align:bottom;width:2%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:2%"/>
<td/>
<td/>
<td/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:1pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td colspan="2" style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="6" style="vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">(Unaudited)</div></div></td>
<td style="vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">ASSETS</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Current assets</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Cash and cash equivalents</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8274">3,053</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8275">1,959</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Accounts receivable, net</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8276">373,470</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8277">41,136</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Inventories</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8278">123,885</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8279">107,089</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Prepaid expenses and other assets</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8280">12,958</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8281">22,070</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total current assets</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8282">513,366</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8283">172,254</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Property, plant and equipment, net</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8284">729,993</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8285">709,402</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Operating lease assets</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8286">25,010</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8287">26,233</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Goodwill and other intangible assets, net</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:IntangibleAssetsNetIncludingGoodwill" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8288">18,058</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:IntangibleAssetsNetIncludingGoodwill" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8289">18,163</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other assets</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8290">6,531</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8291">6,833</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Total assets</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:Assets" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8292">1,292,958</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:Assets" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8293">932,885</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Current liabilities</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Accounts payable</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8294">49,350</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8295">23,963</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Accrued expenses and other liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="trex:AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8296">91,940</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="trex:AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8297">56,734</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Accrued warranty</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StandardProductWarrantyAccrualCurrent" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8298">4,901</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StandardProductWarrantyAccrualCurrent" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8299">4,865</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Line of credit</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8300">223,000</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8301">5,500</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total current liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8302">369,191</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8303">91,062</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Deferred income taxes</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8304">67,226</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8305">72,439</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Operating lease liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8306">17,602</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8307">18,840</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">Non-current</div> accrued warranty</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StandardProductWarrantyAccrualNoncurrent" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8308">18,233</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StandardProductWarrantyAccrualNoncurrent" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8309">17,313</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other long-term liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OtherLiabilitiesNoncurrent" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8310">16,560</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OtherLiabilitiesNoncurrent" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8311">16,560</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Total liabilities</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:Liabilities" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8312">488,812</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:Liabilities" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8313">216,214</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Commitments and contingencies</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:CommitmentsAndContingencies" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" xsi:nil="true" id="ixv-8314"/>&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:CommitmentsAndContingencies" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" xsi:nil="true" id="ixv-8315"/>&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1pt">
<td style="height:12pt"/>
<td colspan="4" style="height:12pt"/>
<td colspan="4" style="height:12pt"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Stockholders&#8217; equity</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="background: none; letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#8194;</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Preferred stock, $<ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="PAsOn12_31_2023" unitRef="Unit_USD_per_Share" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8316"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="PAsOn03_31_2024" unitRef="Unit_USD_per_Share" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8317">0.01</ix:nonFraction></ix:nonFraction> par value, <ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="PAsOn12_31_2023" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8318"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="PAsOn03_31_2024" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8319">3,000,000</ix:nonFraction></ix:nonFraction> shares authorized; <ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="PAsOn12_31_2023" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt-sec:numwordsen" id="ixv-8320"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="PAsOn03_31_2024" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt-sec:numwordsen" id="ixv-8321"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="PAsOn12_31_2023" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt-sec:numwordsen" id="ixv-8322"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="PAsOn03_31_2024" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt-sec:numwordsen" id="ixv-8323">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction>ne issued and outstanding</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:fixed-zero" id="ixv-8324">&#8212;</ix:nonFraction>&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:fixed-zero" id="ixv-8325">&#8212;</ix:nonFraction>&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Common stock, $<ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="PAsOn12_31_2023" unitRef="Unit_USD_per_Share" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8326"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="PAsOn03_31_2024" unitRef="Unit_USD_per_Share" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8327">0.01</ix:nonFraction></ix:nonFraction> par value, <ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="PAsOn12_31_2023" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8328"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="PAsOn03_31_2024" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8329">360,000,000</ix:nonFraction></ix:nonFraction> shares authorized; <ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="PAsOn03_31_2024" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8330">141,056,063</ix:nonFraction> and <ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="PAsOn12_31_2023" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8331">140,974,843</ix:nonFraction> shares issued and <ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="PAsOn03_31_2024" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8332">108,692,757</ix:nonFraction> and <ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="PAsOn12_31_2023" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8333">108,611,537</ix:nonFraction> share outstanding, at March&#160;31, 2024 and December&#160;31, 2023, respectively</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8334">1,411</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8335">1,410</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Additional <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">paid-in</div> capital</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AdditionalPaidInCapitalCommonStock" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8336">138,561</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AdditionalPaidInCapitalCommonStock" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8337">140,157</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Retained earnings</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8338">1,425,128</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8339">1,336,058</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Treasury stock, at cost, <ix:nonFraction name="us-gaap:TreasuryStockCommonShares" contextRef="PAsOn03_31_2024" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8340">32,363,306</ix:nonFraction> and <ix:nonFraction name="us-gaap:TreasuryStockCommonShares" contextRef="PAsOn12_31_2023" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8341">32,363,306</ix:nonFraction> shares at March&#160;31, 2024 and December&#160;31, 2023</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:TreasuryStockValue" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8342">760,954</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:TreasuryStockValue" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8343">760,954</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Total stockholders&#8217; equity</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8344">804,146</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8345">716,671</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Total liabilities and stockholders&#8217; equity</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8346">1,292,958</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8347">932,885</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><div style="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">See Notes to Condensed Consolidated Financial Statements (Unaudited). </div><div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">3 </div></div></div><div style="margin-top:1em; margin-bottom:0em; page-break-before:always"></div><hr style="color:#999999;height:3px;width:100%"/><div style="font-size: .83em;margin-top : 1.67em;margin-bottom : 1.67em;font-weight: bold;"><a href="#toc">Table of Contents</a></div></div></div></div> <div><div><div style="line-height:normal;background-color:white;display: inline;"><div style="text-align:center"><div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">TREX COMPANY, INC. </div></div><div id="tx788119_5" style="margin-top: 6pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">Condensed Consolidated Statements of Changes in Stockholders&#8217; Equity </div></div><div style="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">(Unaudited) </div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">(In thousands, except share data) </div><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 100%; border: 0px; margin: 0px auto; border-spacing: 0px;">
<tr>
<td style="width:45%"/>
<td style="vertical-align:bottom;width:1%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:1%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:1%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:1%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:1%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:1%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:1%"/>
<td/>
<td/>
<td/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Common Stock</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" rowspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Additional</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">Paid-In</div></div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Capital</div></div></td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td colspan="2" rowspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Retained</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Earnings</div></div></td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Treasury Stock</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td colspan="2" rowspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Total</div></div></td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Shares</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Amount</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Shares</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Amount</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Balance,&#160;December&#160;31,&#160;2023</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:SharesIssued" contextRef="PAsOn12_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8348">108,611,537</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8349">1,410</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2023_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8350">140,157</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2023_RetainedEarningsMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8351">1,336,058</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:SharesIssued" contextRef="PAsOn12_31_2023_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8352">32,363,306</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2023_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal" id="ixv-8353">760,954</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">)&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8354">716,671</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Net income</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2024To03_31_2024_RetainedEarningsMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8355">89,070</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8356">89,070</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Employee stock plans</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" contextRef="P01_01_2024To03_31_2024_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8357">5,640</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="P01_01_2024To03_31_2024_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8358">397</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8359">397</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Shares withheld for taxes on awards</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" contextRef="P01_01_2024To03_31_2024_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8360">55,103</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="P01_01_2024To03_31_2024_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8361">5,146</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8362">5,146</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Stock-based compensation</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross" contextRef="P01_01_2024To03_31_2024_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8363">130,683</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="P01_01_2024To03_31_2024_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8364">1</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="P01_01_2024To03_31_2024_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8365">3,153</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8366">3,154</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Balance,&#160;March 31, 2024</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:SharesIssued" contextRef="PAsOn03_31_2024_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8367">108,692,757</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn03_31_2024_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8368">1,411</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn03_31_2024_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8369">138,561</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn03_31_2024_RetainedEarningsMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8370">1,425,128</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:SharesIssued" contextRef="PAsOn03_31_2024_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8371">32,363,306</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn03_31_2024_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal" id="ixv-8372">760,954</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">)&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8373">804,146</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 100%; border: 0px; margin: 0px auto; border-spacing: 0px;">
<tr>
<td style="width:45%"/>
<td style="vertical-align:bottom;width:1%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:1%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:1%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:1%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:1%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:1%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:1%"/>
<td/>
<td/>
<td/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Common Stock</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" rowspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Additional</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">Paid-In</div></div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Capital</div></div></td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td colspan="2" rowspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Retained</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Earnings</div></div></td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Treasury Stock</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td colspan="2" rowspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Total</div></div></td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Shares</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Amount</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Shares</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Amount</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Balance,&#160;December&#160;31,&#160;2022</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:SharesIssued" contextRef="PAsOn12_31_2022_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8374">108,743,423</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2022_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8375">1,408</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2022_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8376">131,539</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2022_RetainedEarningsMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8377">1,130,674</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:SharesIssued" contextRef="PAsOn12_31_2022_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8378">32,098,410</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2022_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal" id="ixv-8379">745,272</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">)&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2022" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8380">518,349</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Net income</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2023To03_31_2023_RetainedEarningsMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8381">41,131</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8382">41,131</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Employee stock plans</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" contextRef="P01_01_2023To03_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8383">8,504</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="P01_01_2023To03_31_2023_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8384">316</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8385">316</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Shares withheld for taxes on awards</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" contextRef="P01_01_2023To03_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8386">28,773</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="P01_01_2023To03_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:fixed-zero" id="ixv-8387">&#8212;</ix:nonFraction>&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="P01_01_2023To03_31_2023_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8388">1,592</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8389">1,592</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Stock-based compensation</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross" contextRef="P01_01_2023To03_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8390">80,362</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="P01_01_2023To03_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8391">1</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="P01_01_2023To03_31_2023_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8392">1,972</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8393">1,973</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Balance,&#160;March 31, 2023</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:SharesIssued" contextRef="PAsOn03_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8394">108,803,516</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn03_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8395">1,409</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn03_31_2023_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8396">132,235</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn03_31_2023_RetainedEarningsMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8397">1,171,805</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:SharesIssued" contextRef="PAsOn03_31_2023_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8398">32,098,410</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn03_31_2023_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal" id="ixv-8399">745,272</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">)&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8400">560,177</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><div style="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">See Notes to Condensed Consolidated Financial Statements (Unaudited). </div><div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">4 </div></div></div></div><div></div></div><div><div style="line-height:normal;background-color:white;display: inline;"><div style="margin-top:1em; margin-bottom:0em; page-break-before:always"></div><hr style="color:#999999;height:3px;width:100%"/><div style="font-size: .83em;margin-top : 1.67em;margin-bottom : 1.67em;font-weight: bold;"><a href="#toc">Table of Contents</a></div></div></div></div> <div><div><div style="line-height:normal;background-color:white;display: inline;"><div style="text-align:center"><div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">TREX COMPANY, INC. </div></div><div id="tx788119_6" style="margin-top: 12pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">Condensed Consolidated Statements of Cash Flows </div></div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">(Unaudited) </div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">(In thousands) </div><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:100%;border:0;margin:0 auto">
<tr>
<td style="width:84%"/>
<td style="vertical-align:bottom;width:2%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:2%"/>
<td/>
<td/>
<td/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three Months Ended</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">OPERATING ACTIVITIES</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Net income</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8401">89,070</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8402">41,131</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Adjustments to reconcile net income to net cash used in operating activities:</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Depreciation and amortization</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:DepreciationDepletionAndAmortization" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8403">14,154</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:DepreciationDepletionAndAmortization" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8404">11,915</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Deferred Income Taxes</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal" id="ixv-8405">5,212</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:fixed-zero" id="ixv-8406">&#8212;</ix:nonFraction>&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Stock-based compensation</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8407">3,155</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8408">1,972</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Loss (gain) on disposal of property, plant and equipment</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal" id="ixv-8409">2,122</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:fixed-zero" id="ixv-8410">&#8212;</ix:nonFraction>&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">non-cash</div> adjustments</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OtherNoncashIncomeExpense" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal" id="ixv-8411">121</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OtherNoncashIncomeExpense" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal" id="ixv-8412">121</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Changes in operating assets and liabilities:</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Accounts receivable</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8413">332,333</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8414">204,014</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Inventories</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8415">16,796</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal" id="ixv-8416">13,571</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Prepaid expenses and other assets</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8417">319</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal" id="ixv-8418">291</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Accounts payable</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8419">26,238</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8420">2,975</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Accrued expenses and other liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8421">12,041</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8422">3,361</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Income taxes receivable/payable</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8423">33,715</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8424">13,206</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Net cash used in operating activities</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal" id="ixv-8425">174,044</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">)&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal" id="ixv-8426">115,471</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">)&#160;</div></div></td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">INVESTING ACTIVITIES</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Expenditures for property, plant and equipment</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8427">37,720</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8428">39,192</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Proceeds from sales of property, plant and equipment</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8429">106</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:fixed-zero" id="ixv-8430">&#8212;</ix:nonFraction>&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Net cash used in investing activities</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal" id="ixv-8431">37,614</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">)&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal" id="ixv-8432">39,192</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">)&#160;</div></div></td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">FINANCING ACTIVITIES</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Borrowings under line of credit</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ProceedsFromLinesOfCredit" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8433">258,500</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ProceedsFromLinesOfCredit" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8434">200,500</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Principal payments under line of credit</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:RepaymentsOfLinesOfCredit" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8435">41,000</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:RepaymentsOfLinesOfCredit" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8436">53,000</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Repurchases of common stock</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:PaymentsForRepurchaseOfCommonStock" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8437">5,145</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:PaymentsForRepurchaseOfCommonStock" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8438">1,592</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Proceeds from employee stock purchase and option plans</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8439">397</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8440">316</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Financing costs</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="trex:PaymentsForProceedsFromFinancingCosts" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:fixed-zero" id="ixv-8441">&#8212;</ix:nonFraction>&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="trex:PaymentsForProceedsFromFinancingCosts" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal" id="ixv-8442">30</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Net cash provided by financing activities</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8443">212,752</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8444">146,254</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Net increase (decrease) in cash and cash equivalents</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8445">1,094</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal" id="ixv-8446">8,409</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Cash and cash equivalents, beginning of period</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8447">1,959</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="PAsOn12_31_2022" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8448">12,325</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Cash and cash equivalents, end of period</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8449">3,053</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="PAsOn03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8450">3,916</ix:nonFraction></div></div></td>
<td style="white-space:nowrap;vertical-align:bottom"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Supplemental Disclosure:</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Cash paid for interest, net of capitalized interest</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:fixed-zero" id="ixv-8451">&#8212;</ix:nonFraction>&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8452">1,817</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Cash paid for income taxes, net</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8453">1,444</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8454">733</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Supplemental <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">non-cash</div> investing and financing disclosure:</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Capital expenditures in accounts payable</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="trex:CapitalExpendituresInAccountsPayable" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8455">851</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="trex:CapitalExpendituresInAccountsPayable" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8456">229</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr></table><div style="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">See Notes to Condensed Consolidated Financial Statements (Unaudited). </div><div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">5 </div></div></div><div style="margin-top:1em; margin-bottom:0em; page-break-before:always"></div><hr style="color:#999999;height:3px;width:100%"/><div style="font-size: .83em;margin-top : 1.67em;margin-bottom : 1.67em;font-weight: bold;"><a href="#toc">Table of Contents</a></div></div></div></div> <div><div><div style="line-height:normal;background-color:white;display: inline;"><div style="text-align:center"><div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">TREX COMPANY, INC. </div></div><div id="tx788119_7" style="margin-top: 12pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">Notes to Condensed Consolidated Financial Statements </div></div><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">For the Three Months Ended March&#160;31, 2023 and 2024 </div></div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">(Unaudited) </div><div style="font-size:18pt;margin-top:0pt;margin-bottom:0pt">&#160;</div><ix:nonNumeric name="us-gaap:NatureOfOperations" contextRef="P01_01_2024To03_31_2024" escape="true" id="ixv-3020">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">1.</div></div></td>
<td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">BUSINESS AND ORGANIZATION </div></div></td></tr></table><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Trex Company, Inc. (Trex or Company), is the world&#8217;s largest manufacturer of high-performance, <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">low-maintenance</div> wood-alternative decking and residential railing and outdoor living products and accessories, marketed under the brand name Trex<div style="font-size:75%; vertical-align:top;display:inline;font-size:8.3px">&#174;</div>, with more than 30 years of product experience. A majority of its products are manufactured in a proprietary process that combines reclaimed wood fibers and scrap polyethylene. The Company is incorporated in Delaware. The principal executive offices are located at 2500 Trex Way, Winchester, Virginia 22601, and the telephone number at that address is <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">(540)&#160;542-6300.</div> The Company operates in a <div style="-sec-ix-hidden:hidden113862737;display:inline;">single</div> reportable segment. </div></ix:nonNumeric><div style="font-size:18pt;margin-top:0pt;margin-bottom:0pt">&#160;</div><ix:nonNumeric name="us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" id="ixv-3035">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2.</div></div></td>
<td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">BASIS OF PRESENTATION </div></div></td></tr></table><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States for interim financial information and the instructions to Form <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">10-Q</div> and Article 10 of Regulation <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">S-X</div> and, accordingly, the accompanying unaudited condensed consolidated financial statements do not include all of the information and notes required by accounting principles generally accepted in the United States for complete financial statements. In the opinion of management, all adjustments (consisting of normal and recurring adjustments, except as otherwise described herein) considered necessary for a fair presentation have been included in the accompanying unaudited condensed consolidated financial statements. Certain reclassifications have been made to prior period balances to conform to current year presentation. The unaudited condensed consolidated financial statements include the accounts of the Company for all periods presented. Intercompany accounts and transactions have been eliminated in consolidation. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The unaudited consolidated results of operations for the three months ended March&#160;31, 2024, are not necessarily indicative of the results that may be expected for the fiscal year ending December&#160;31, 2024. The Company&#8217;s results of operations are affected by a number of factors, including, but not limited to, the cost to manufacture and distribute products, cost of raw materials, inflation, consumer spending and preferences, interest rates, the impact of any supply chain disruptions, economic conditions, and/or any adverse effects from global health pandemics and geopolitical conflicts. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">These unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto included in the Annual Report of Trex Company, Inc. on Form <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">10-K</div> for the year ended December&#160;31, 2023, as filed with the U.S. Securities and Exchange Commission. </div></ix:nonNumeric><div style="font-size:18pt;margin-top:0pt;margin-bottom:0pt">&#160;</div><ix:nonNumeric name="us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" id="ixv-3051">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">3.</div></div></td>
<td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">RECENTLY ADOPTED ACCOUNTING STANDARDS </div></div></td></tr></table><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">In December 2022, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">No.&#160;2022-06</div> &#8220;Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848.&#8221; The amendments in this update defer the sunset date of Topic 848 from December&#160;31, 2022 to December&#160;31, 2024, after which entities will no longer be permitted to apply the relief in Topic 848. In March 2020, the FASB issued ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">No.&#160;2020-04</div> &#8220;Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting.&#8221; These amendments provide temporary optional guidance to ease the potential burden in accounting for reference rate reform. ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">No.&#160;2020-04</div> provides optional expedients and exceptions for applying generally accepted accounting principles to contract modifications and hedging relationships, subject to meeting certain criteria, that reference the London Interbank Offered Rate (LIBOR) or another reference rate expected to be discontinued. The FASB included a sunset provision within Topic 848 based on the expectations of when the LIBOR would cease being published intended to help stakeholders during the global market-wide reference rate transition period. The guidance is effective for all entities as of March&#160;12, 2020 through December&#160;31, 2024 and can be adopted as of any date from the beginning of an interim period that includes or is subsequent to March&#160;12, 2020. The amendments did not have a material effect on the Company&#8217;s consolidated financial statements. </div></ix:nonNumeric><div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">6 </div></div></div><div style="margin-top:1em; margin-bottom:0em; page-break-before:always"></div><hr style="color:#999999;height:3px;width:100%"/><div style="font-size: .83em;margin-top : 1.67em;margin-bottom : 1.67em;font-weight: bold;"><a href="#toc">Table of Contents</a></div><div style="text-align:center"><div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto"><ix:nonNumeric name="trex:DescriptionOfNewAccountingStandardsNotYetAdoptedTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" id="ixv-3072">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">4.</div></div></td>
<td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">NEW ACCOUNTING STANDARDS NOT YET ADOPTED </div></div></td></tr></table><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">In November 2023, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">No.&#160;2023-07,</div> &#8220;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures.&#8221; The guidance requires disclosure of significant segment expenses which are regularly provided to the chief operating decision maker (CODM), the composition of and amount of other segment items, the CODM&#8217;s title and position within the organization, and how the CODM uses the reported measure(s) of segment&#8217;s profit or loss to assess the performance of the segment. In addition, on an interim basis, all segment profit or loss and asset disclosures currently required on an annual basis must be reported, as well as those required by Topic 280. The guidance allows for multiple measure of a segment&#8217;s profit or loss to be reported. Entities which have a single reportable segment must apply Topic 280 in its entirety. The guidance is effective for fiscal years beginning after December&#160;15, 2023, and for interim periods beginning after December&#160;15, 2024. Early adoption is permitted. Entities are required to apply the amendments of this update retrospectively for all prior periods presented in the financial statements. The Company does not intend to early adopt the standard and does not expect adoption of this guidance to have a material effect on its consolidated results of operations and financial position. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">In December 2023, the FASB issued ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">No.&#160;2023-09,</div> &#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures.&#8221; The guidance requires public entities to disclose additional categories of information related to federal, state, and foreign income taxes and additional details related to reconciling items should they meet a quantitative threshold. The guidance requires disclosure of income taxes paid (net of refunds received) disaggregated by federal, state, and foreign taxes and to disaggregate the information by jurisdiction based on quantitative thresholds. The guidance is effective for fiscal years beginning after December&#160;15, 2024. Early adoption is permitted. The guidance should be applied on a prospective basis, retrospective application is permitted. The Company does not intend to early adopt the standard and does not expect adoption of the guidance to have a material effect on its consolidated results of operations and financial position. </div></ix:nonNumeric><div style="font-size:18pt;margin-top:0pt;margin-bottom:0pt">&#160;</div><ix:nonNumeric name="us-gaap:InventoryDisclosureTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" id="ixv-3086">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">5.</div></div></td>
<td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">INVENTORIES </div></div></td></tr></table><ix:nonNumeric name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" id="ixv-3095"><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Inventories valued at LIFO <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">(last-in,</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">first-out),</div> consist of the following (in thousands): </div><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:68%;border:0;margin:0 auto">
<tr>
<td style="width:73%"/>
<td style="vertical-align:bottom;width:6%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:5%"/>
<td/>
<td/>
<td/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Finished goods</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8457">89,619</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8458">88,840</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Raw materials</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:InventoryRawMaterials" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8459">67,705</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:InventoryRawMaterials" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8460">51,688</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total FIFO <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">(first-in,</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">first-out)</div> inventories</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:InventoryGross" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8461">157,324</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:InventoryGross" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8462">140,528</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Reserve to adjust inventories to LIFO value</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:InventoryLIFOReserve" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8463">33,439</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:InventoryLIFOReserve" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8464">33,439</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total LIFO inventories</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:LIFOInventoryAmount" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8465">123,885</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:LIFOInventoryAmount" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8466">107,089</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table></ix:nonNumeric><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company utilizes the LIFO method of accounting, which generally provides for the matching of current costs with current revenues. However, under the LIFO method, reductions in annual inventory balances may cause a portion of the Company&#8217;s cost of sales to be based on historical costs rather than current year costs (LIFO liquidation). Reductions in interim inventory balances expected to be replenished by <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">year-end</div> do not result in a LIFO liquidation. Accordingly, interim LIFO calculations are based, in part, on management&#8217;s estimates of expected <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">year-end</div> inventory levels and costs and may differ from actual results. Since inventory levels and costs are subject to factors beyond management&#8217;s control, interim results are subject to the final <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">year-end</div> LIFO inventory valuation. There were no LIFO inventory liquidations or related impact on the cost of sales in the three months ended March&#160;31, 2024. </div></ix:nonNumeric><div style="font-size:18pt;margin-top:0pt;margin-bottom:0pt">&#160;</div><ix:nonNumeric name="trex:PrepaidAndOtherCurrentAssetsDisclosureTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" id="ixv-3233">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">6.</div></div></td>
<td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">PREPAID EXPENSES AND OTHER ASSETS </div></div></td></tr></table><ix:nonNumeric name="trex:PrepaidExpenseAndOtherAssetsCurrentTableTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" id="ixv-3242"><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Prepaid expenses and other assets consist of the following (in thousands): </div><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:68%;border:0;margin:0 auto">
<tr>
<td style="width:74%"/>
<td style="vertical-align:bottom;width:6%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:6%"/>
<td/>
<td/>
<td/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,<br/> 2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Prepaid expenses</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:PrepaidExpenseCurrent" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8467">12,329</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:PrepaidExpenseCurrent" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8468">11,830</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Income tax receivable</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxesReceivable" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:fixed-zero" id="ixv-8469">&#8212;</ix:nonFraction>&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxesReceivable" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8470">9,611</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OtherAssetsCurrent" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8471">629</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OtherAssetsCurrent" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8472">629</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total prepaid expenses and other assets</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8473">12,958</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8474">22,070</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table></ix:nonNumeric></ix:nonNumeric><div style="font-size:18pt;margin-top:0pt;margin-bottom:0pt">&#160;</div><ix:nonNumeric name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" continuedAt="TextSelection_113862871" id="ixv-3345">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">7.</div></div></td>
<td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">GOODWILL AND OTHER INTANGIBLE ASSETS, NET </div></div></td></tr></table><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The carrying amount of goodwill at March&#160;31, 2024, and December&#160;31, 2023, was $<ix:nonFraction name="us-gaap:Goodwill" contextRef="PAsOn12_31_2023_ResidentialPortfolioSegmentMemberusgaapFinancingReceivablePortfolioSegmentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:num-dot-decimal" id="ixv-8475"><ix:nonFraction name="us-gaap:Goodwill" contextRef="PAsOn03_31_2024_ResidentialPortfolioSegmentMemberusgaapFinancingReceivablePortfolioSegmentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:num-dot-decimal" id="ixv-8476">14.2</ix:nonFraction></ix:nonFraction>&#160;million. The Company&#8217;s intangible assets, purchased in 2018, consist of domain names. At March&#160;31, 2024, and December&#160;31, 2023, intangible assets were $<ix:nonFraction name="us-gaap:IntangibleAssetsGrossExcludingGoodwill" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:num-dot-decimal" id="ixv-8477"><ix:nonFraction name="us-gaap:IntangibleAssetsGrossExcludingGoodwill" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:num-dot-decimal" id="ixv-8478">6.3</ix:nonFraction></ix:nonFraction>&#160;million and accumulated amortization was $<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:num-dot-decimal" id="ixv-8479">2.5</ix:nonFraction>&#160;million and $<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:num-dot-decimal" id="ixv-8480">2.4</ix:nonFraction>&#160;million, respectively. Intangible asset amounts were determined based on the estimated economics of the asset and are amortized over the estimated useful lives on a straight-line basis over <ix:nonNumeric name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" contextRef="PAsOn03_31_2024_InternetDomainNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" format="ixt-sec:duryear" id="ixv-8481">15</ix:nonNumeric> years, which approximates the pattern in which the economic benefits are expected to be received. </div><div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"><ix:exclude>7</ix:exclude> </div></ix:nonNumeric></div></div><ix:continuation id="TextSelection_113862871" continuedAt="TextSelectionAppend_113862871_1"><ix:exclude><div style="margin-top:1em; margin-bottom:0em; page-break-before:always"></div></ix:exclude></ix:continuation><ix:continuation id="TextSelectionAppend_113862871_1" continuedAt="TextSelectionAppend_113862871_2"><ix:exclude><hr style="color:#999999;height:3px;width:100%"/></ix:exclude></ix:continuation><ix:continuation id="TextSelectionAppend_113862871_2" continuedAt="TextSelectionAppend_113862871_3"><ix:exclude><div style="font-size: .83em;margin-top : 1.67em;margin-bottom : 1.67em;font-weight: bold;"><a href="#toc">Table of Contents</a></div></ix:exclude></ix:continuation></div></div></div> <div><div><div style="line-height:normal;background-color:white;display: inline;"><div style="text-align:center"><div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto"><ix:continuation id="TextSelectionAppend_113862871_3"><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">The Company evaluates the recoverability of intangible assets periodically and considers events or circumstances that may warrant revised estimates of useful lives or that may indicate an impairment. Intangible asset amortization expense for the three months ended March&#160;31, 2024, and March&#160;31, 2023, was $<ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:num-dot-decimal" id="ixv-8483">0.1</ix:nonFraction>&#160;million and $<ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:num-dot-decimal" id="ixv-8484">0.1</ix:nonFraction>&#160;million, respectively. </div><div style="font-size:18pt;margin-top:0pt;margin-bottom:0pt"><ix:exclude>&#160;</ix:exclude></div></ix:continuation><ix:nonNumeric name="us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" id="ixv-3375">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">8.</div></div></td>
<td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">ACCRUED EXPENSES AND OTHER LIABILITIES </div></div></td></tr></table><ix:nonNumeric name="trex:ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" id="ixv-3384"><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Accrued expenses and other liabilities consist of the following (in thousands): </div><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:76%"/>
<td style="vertical-align:bottom;width:6%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:6%"/>
<td/>
<td/>
<td/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Sales and marketing</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AccruedMarketingCostsCurrent" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8486">33,754</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AccruedMarketingCostsCurrent" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8487">15,496</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Income Taxes</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AccruedIncomeTaxesCurrent" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8488">24,104</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AccruedIncomeTaxesCurrent" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:fixed-zero" id="ixv-8489">&#8212;</ix:nonFraction>&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Compensation and benefits</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:EmployeeRelatedLiabilitiesCurrent" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8490">16,719</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:EmployeeRelatedLiabilitiesCurrent" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8491">25,859</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="-sec-ix-hidden:hidden113862998;display:inline;">Operating</div> <div style="-sec-ix-hidden:hidden113862999;display:inline;">lease liabilities</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8492">7,629</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8493">7,663</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Manufacturing costs</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="trex:AccruedManufacturingExpensesCurrent" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8494">3,193</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="trex:AccruedManufacturingExpensesCurrent" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8495">3,382</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OtherAccruedLiabilitiesCurrent" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8496">6,541</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OtherAccruedLiabilitiesCurrent" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8497">4,334</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total accrued expenses and other liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="trex:AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8498">91,940</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="trex:AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8499">56,734</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table></ix:nonNumeric></ix:nonNumeric><div style="font-size:18pt;margin-top:0pt;margin-bottom:0pt">&#160;</div><ix:nonNumeric name="us-gaap:DebtDisclosureTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" continuedAt="TextSelection_113862874" id="ixv-3524">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">9.</div></div></td>
<td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">DEBT </div></div></td></tr></table><div style="margin-top:6pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"><div style="font-style:italic;display:inline;">Revolving Credit Facility </div></div></div><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">On May&#160;18, 2022, the Company entered into a Credit Agreement (Credit Agreement) with certain lending parties thereto (Lenders) to amend and restate the Fourth Amended and Restated Credit Agreement dated as of November&#160;5, 2019. Under the Credit Agreement, the Lenders agreed to provide the Company with one or more Revolving Loans in a collective maximum principal amount of $<ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="PAsOn05_18_2022_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis" unitRef="Unit_USD" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8500">400,000,000</ix:nonFraction> (Loan Limit) throughout the term, which ends <ix:nonNumeric name="us-gaap:LineOfCreditFacilityExpirationDate1" contextRef="P01_01_2024To03_31_2024_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis" format="ixt:date-monthname-day-year-en" id="ixv-8501">May 18, 2027</ix:nonNumeric> (Term). Included within the Loan Limit are sublimits for a Letter of Credit facility in an amount not to exceed $<ix:nonFraction name="trex:LineOfCreditFacilityAdditionalBorrowingCapacity" contextRef="PAsOn05_18_2022_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_LetterOfCreditMemberTREXCreditFacilityOneAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis" unitRef="Unit_USD" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8502">60,000,000</ix:nonFraction>; and Swing Line Loans in an aggregate principal amount at any time outstanding not to exceed $<ix:nonFraction name="trex:LineOfCreditFacilityAdditionalBorrowingCapacity" contextRef="PAsOn05_18_2022_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis_SwinglineLetterOfCreditMemberTREXCreditFacilityOneAxis" unitRef="Unit_USD" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8503">20,000,000</ix:nonFraction>. The Revolving Loans, the Letter of Credit facility and the Swing Line Loans are for the purpose of raising working capital and supporting general business operations. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">On December&#160;22, 2022, the Company entered into a First Amendment to the Credit Agreement (First Amendment). As a part of the First Amendment, the Credit Agreement was amended and restated to provide for an additional Revolving B Loan (as hereinafter defined). Under the First Amendment, the Lenders agreed to provide the Company with a Revolving B Loan consisting of one or more revolving loans in a collective maximum principal amount of $<ix:nonFraction name="us-gaap:LineOfCredit" contextRef="PAsOn03_31_2024_RevolvingBLoanMemberusgaapCreditFacilityAxis" unitRef="Unit_USD" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8504">150,000,000</ix:nonFraction> (Revolving B Loan Limit) throughout the term, which ends December&#160;22, 2024 (Revolving B Loan Term). Previously, under the Credit Agreement, there was no Revolving B Loan. The First Amendment also provided that TD Bank, N.A. would serve as Syndication Agent. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">In conjunction with the First Amendment, on December&#160;22, 2022, the Credit Agreement was amended and restated to refer to this loan as the Revolving A Loan. The amended and restated Credit Agreement was made an Exhibit A to the First Amendment. All of the terms of the Credit Agreement apply to the Revolving B Loan. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Notes provide the Company, in the aggregate, the ability to borrow an amount up to the Revolving A Loan Limit during the Revolving A Loan Term and Revolving B Loan Limit during the Revolving B Loan Term. The Company is not obligated to borrow any amount under the revolving loans. Within the respective loan limit, the Company may borrow, repay and reborrow at any time or from time to time while the Notes are in effect. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Base Rate Loans (as defined in the Credit Agreement) under the Revolving A Loan and the Swing Line Loans accrue interest at the Base Rate plus the Applicable Rate (as defined in the Credit Agreement) and Term SOFR Loans for the Revolving Loans accrue interest at the rate per annum equal to the sum of Term SOFR for such interest period&#160;plus&#160;the Applicable Rate (as defined in the Credit Agreement). The Base Rate for any day is a fluctuating rate per annum equal to the highest of (a)&#160;<ix:nonNumeric name="us-gaap:DebtInstrumentDescriptionOfVariableRateBasis" contextRef="P01_01_2024To03_31_2024_BaseRateMemberusgaapVariableRateAxis_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis" id="ixv-8505">the Federal Funds Rate plus <ix:nonFraction name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" contextRef="P01_01_2024To03_31_2024_BaseRateMemberusgaapVariableRateAxis_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis" unitRef="Unit_pure" decimals="4" scale="-2" format="ixt:num-dot-decimal" id="ixv-8506">0.50</ix:nonFraction>%</ix:nonNumeric>, (b) the rate of interest in effect for such day as publicly announced from time to time by BOA as its prime rate, and (c)&#160;<ix:nonNumeric name="us-gaap:DebtInstrumentDescriptionOfVariableRateBasis" contextRef="P01_01_2024To03_31_2024_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMemberusgaapVariableRateAxis" id="ixv-8507">the Term SOFR plus <ix:nonFraction name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" contextRef="P01_01_2024To03_31_2024_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMemberusgaapVariableRateAxis" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:num-dot-decimal" id="ixv-8508">1.0</ix:nonFraction>%</ix:nonNumeric> subject to certain interest rate floors. Repayment of all then outstanding principal, interest, fees and costs is due at the end of the Term. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">With respect to Revolving B Loans (as defined in the First Amendment), for any day, the rate per annum is a tiered pricing based upon the Consolidated Debt to Consolidated EBITDA Ratio. The applicable rate for Revolving B Loans that are Base Rate Loans range between <ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="PAsOn03_31_2024_MinimumMembersrtRangeAxis_RevolvingBLoanMemberusgaapCreditFacilityAxis" unitRef="Unit_pure" decimals="4" scale="-2" format="ixt:num-dot-decimal" id="ixv-8509">1.20</ix:nonFraction>% and <ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="PAsOn03_31_2024_MaximumMembersrtRangeAxis_RevolvingBLoanMemberusgaapCreditFacilityAxis" unitRef="Unit_pure" decimals="4" scale="-2" format="ixt:num-dot-decimal" id="ixv-8510">2.15</ix:nonFraction>% and the applicable rate for Revolving B Loans that are Term SOFR/Term SOFR Daily Floating Rate range between <ix:nonFraction name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" contextRef="P01_01_2024To03_31_2024_MinimumMembersrtRangeAxis_RevolvingBLoanMemberusgaapCreditFacilityAxis_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMemberusgaapVariableRateAxis" unitRef="Unit_pure" decimals="4" scale="-2" format="ixt:num-dot-decimal" id="ixv-8511">0.20</ix:nonFraction>% and <ix:nonFraction name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" contextRef="P01_01_2024To03_31_2024_MaximumMembersrtRangeAxis_RevolvingBLoanMemberusgaapCreditFacilityAxis_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMemberusgaapVariableRateAxis" unitRef="Unit_pure" decimals="4" scale="-2" format="ixt:num-dot-decimal" id="ixv-8512">1.15</ix:nonFraction>%. </div><div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"><ix:exclude>8</ix:exclude> </div></ix:nonNumeric></div></div><ix:continuation id="TextSelection_113862874" continuedAt="TextSelectionAppend_113862874_1"><ix:exclude><div style="margin-top:1em; margin-bottom:0em; page-break-before:always"></div></ix:exclude></ix:continuation><ix:continuation id="TextSelectionAppend_113862874_1" continuedAt="TextSelectionAppend_113862874_2"><ix:exclude><hr style="color:#999999;height:3px;width:100%"/></ix:exclude></ix:continuation><ix:continuation id="TextSelectionAppend_113862874_2" continuedAt="TextSelectionAppend_113862874_3"><ix:exclude><div style="font-size: .83em;margin-top : 1.67em;margin-bottom : 1.67em;font-weight: bold;"><a href="#toc">Table of Contents</a></div></ix:exclude></ix:continuation><div style="text-align:center"><div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto"><ix:continuation id="TextSelectionAppend_113862874_3"><div style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Under the terms of the Security and Pledge Agreement, the Company, subject to certain permitted encumbrances, as collateral security for the above-stated loans and all other present and future indebtedness of the Company owing to the Lenders grants a continuing security interest in certain collateral described and defined in the Security and Pledge Agreement but excluding the Excluded Property (as defined in the Security and Pledge Agreement). </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company had $<ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-6" scale="6" format="ixt:num-dot-decimal" id="ixv-8514">223</ix:nonFraction>&#160;million in borrowings outstanding under its revolving credit facility and available borrowing capacity of $<ix:nonFraction name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="INF" scale="6" format="ixt:num-dot-decimal" id="ixv-8515">327</ix:nonFraction>&#160;million at March&#160;31, 2024. The weighted average interest rate on the revolving credit facility was <ix:nonFraction name="us-gaap:DebtWeightedAverageInterestRate" contextRef="PAsOn03_31_2024_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis" unitRef="Unit_pure" decimals="4" scale="-2" format="ixt:num-dot-decimal" id="ixv-8516">6.22</ix:nonFraction>% as of March&#160;31, 2024. </div><div style="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"><div style="font-style:italic;display:inline;">Compliance with Debt Covenants and Restrictions </div></div></div><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Pursuant to the terms of the Credit Agreement, the Company is subject to certain loan compliance covenants. The Company was in compliance with all covenants as of&#160;March 31, 2024. Failure to comply with the financial covenants could be considered a default of repayment obligations and, among other remedies, could accelerate payment of any amounts outstanding. </div></ix:continuation><div style="font-size:18pt;margin-top:0pt;margin-bottom:0pt">&#160;</div><ix:nonNumeric name="us-gaap:LesseeOperatingLeasesTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" id="ixv-3564">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">10.</div></div></td>
<td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">LEASES </div></div></td></tr></table><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company leases manufacturing and training facilities, storage warehouses, office space, and certain plant equipment under various operating leases. The Company&#8217;s operating leases have remaining lease terms of <ix:nonNumeric name="us-gaap:LessorOperatingLeaseTermOfContract" contextRef="PAsOn03_31_2024_MinimumMembersrtRangeAxis" format="ixt-sec:duryear" id="ixv-8517">1</ix:nonNumeric> year to <ix:nonNumeric name="us-gaap:LessorOperatingLeaseTermOfContract" contextRef="PAsOn03_31_2024_MaximumMembersrtRangeAxis" format="ixt-sec:duryear" id="ixv-8518">5</ix:nonNumeric> years. Lease terms may include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">For the three months ended March&#160;31, 2024 and March&#160;31, 2023, total operating lease expense was $<ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:num-dot-decimal" id="ixv-8519">2.0</ix:nonFraction>&#160;million and $<ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:num-dot-decimal" id="ixv-8520">2.1</ix:nonFraction>&#160;million, respectively. The weighted average remaining lease term at March&#160;31, 2024 and December&#160;31, 2023 was <ix:nonNumeric name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" contextRef="PAsOn03_31_2024" format="ixt-sec:duryear" id="ixv-8521">4.2</ix:nonNumeric> years and <ix:nonNumeric name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" contextRef="PAsOn12_31_2023" format="ixt-sec:duryear" id="ixv-8522">4.4</ix:nonNumeric> years, respectively. The weighted average discount rate at March&#160;31, 2024 and December&#160;31, 2023 was <ix:nonFraction name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" contextRef="PAsOn03_31_2024" unitRef="Unit_pure" decimals="INF" scale="-2" format="ixt:num-dot-decimal" id="ixv-8523">2.38</ix:nonFraction>% and <ix:nonFraction name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" contextRef="PAsOn12_31_2023" unitRef="Unit_pure" decimals="INF" scale="-2" format="ixt:num-dot-decimal" id="ixv-8524">2.32</ix:nonFraction>%, respectively. </div><ix:nonNumeric name="trex:SupplementalFinancialInformationOfOperatingLeasesTableTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" id="ixv-3575"><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The following table includes supplemental cash flow information for the three months ended March&#160;31, 2024 and March&#160;31, 2023, and supplemental balance sheet information at March&#160;31, 2024 and December&#160;31, 2023 related to operating leases (in thousands): </div><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:81%"/>
<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three&#160;Months&#160;Ended</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 0.5pt;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; font-size: 8pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Supplemental cash flow information</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Cash paid for amounts included in the measurement of operating lease liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8194;<ix:nonFraction name="us-gaap:OperatingLeasePayments" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8525">2,007</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeasePayments" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8526">2,120</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Operating ROU assets obtained in exchange for lease liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8527">578</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8528">1,541</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr></table><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:74%"/>
<td style="vertical-align:bottom;width:7%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:7%"/>
<td/>
<td/>
<td/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:9pt">
<td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 0.5pt;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; font-size: 9pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Supplemental balance sheet information</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,<br/> 2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Operating lease ROU assets</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8529">25,010</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8530">26,233</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Operating lease liabilities:</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Accrued expenses and other current liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="trex:LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8531">7,629</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="trex:LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8532">7,663</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Operating lease liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8533">17,602</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8534">18,840</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total operating lease liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8535">25,231</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="PAsOn12_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8536">26,503</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table></ix:nonNumeric><ix:nonNumeric name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" id="ixv-3748"><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The following table summarizes maturities of operating lease liabilities at March&#160;31, 2024 (in thousands): </div><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:68%;border:0;margin:0 auto">
<tr>
<td style="width:88%"/>
<td style="vertical-align:bottom;width:5%"/>
<td/>
<td/>
<td/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td colspan="4" style="vertical-align:bottom;white-space:nowrap"><div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; font-size: 8pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Maturities of operating lease liabilities</div></div></td>
<td style="vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2024</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8537">5,942</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2025</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8538">5,950</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2026</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8539">5,051</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2027</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8540">4,549</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2028</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8541">3,982</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Thereafter</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8542">934</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total lease payments</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8543">26,408</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Less imputed interest</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8544">1,177</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total operating lease liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8545">25,231</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table></ix:nonNumeric></ix:nonNumeric><div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">9 </div></div></div><div style="margin-top:1em; margin-bottom:0em; page-break-before:always"></div><hr style="color:#999999;height:3px;width:100%"/><div style="font-size: .83em;margin-top : 1.67em;margin-bottom : 1.67em;font-weight: bold;"><a href="#toc">Table of Contents</a></div></div></div></div> <div> <div> <div style="line-height:normal;background-color:white;display: inline;"> <div style="text-align:center"> <div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto"><ix:nonNumeric name="us-gaap:FinancialInstrumentsDisclosureTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" id="ixv-3861">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">11.</div></div></td>
<td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">FINANCIAL INSTRUMENTS </div></div> </td> </tr> </table> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company considers the recorded value of its financial assets and liabilities, consisting primarily of cash and cash equivalents, accounts receivable, accounts payable, accrued expenses, other current liabilities, and debt to approximate the fair value of the respective assets and liabilities on the Condensed Consolidated Balance Sheets at March&#160;31, 2024 and December&#160;31, 2023. </div> <div style="font-size:18pt;margin-top:0pt;margin-bottom:0pt"><ix:exclude>&#160;</ix:exclude></div> </ix:nonNumeric><ix:nonNumeric name="us-gaap:StockholdersEquityNoteDisclosureTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" id="ixv-3872">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">12.</div></div></td>
<td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">STOCKHOLDERS&#8217; EQUITY </div></div> </td> </tr> </table> <div style="margin-top:6pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"><div style="font-style:italic;display:inline;">Earnings Per Share </div></div></div> <ix:nonNumeric name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" id="ixv-3884"> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The following table sets forth the computation of basic and diluted earnings per share (in thousands, except share and per share data): </div> <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:70%"/>
<td style="vertical-align:bottom;width:9%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:9%"/>
<td/>
<td/>
<td/> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three Months Ended</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Numerator:</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Net income available to common shareholders</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8547">89,070</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8548">41,131</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Denominator:</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Basic weighted average shares outstanding</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8549">108,640,168</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8550">108,771,958</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Effect of dilutive securities:</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Stock appreciation rights and options</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" contextRef="P01_01_2024To03_31_2024_StockAppreciationRightsMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8551">71,202</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" contextRef="P01_01_2023To03_31_2023_StockAppreciationRightsMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8552">70,004</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Restricted stock</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" contextRef="P01_01_2024To03_31_2024_RestrictedStockMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8553">79,255</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" contextRef="P01_01_2023To03_31_2023_RestrictedStockMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8554">74,299</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Diluted weighted average shares outstanding</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8555">108,790,625</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8556">108,916,261</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Basic earnings per share</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:num-dot-decimal" id="ixv-8557">0.82</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:num-dot-decimal" id="ixv-8558">0.38</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Diluted earnings per share</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:num-dot-decimal" id="ixv-8559">0.82</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:num-dot-decimal" id="ixv-8560">0.38</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:nonNumeric> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Diluted earnings per share is computed using the weighted average number of shares determined for the basic earnings per share computation plus the dilutive effect of common stock equivalents using the treasury stock method. <ix:nonNumeric name="us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" continuedAt="TextSelection_113862878" id="ixv-8561">The computation of diluted earnings per share excludes the following potentially dilutive securities because the effect would be anti-dilutive: </ix:nonNumeric></div> <ix:continuation id="TextSelection_113862878"><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:67%"/>
<td style="vertical-align:bottom;width:8%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;&#160;&#160;</td>
<td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three&#160;Months&#160;Ended</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Stock appreciation rights</div> </td>
<td style="vertical-align:bottom">&#160;&#160;&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8199;&#8199;&#8199;&#8201;&#8201;&#8199;<ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8562">55,132</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#8195;&#8195;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8199;&#8199;&#8199;&#8201;&#8201;<ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="P01_01_2023To03_31_2023_StockAppreciationRightsSARSMemberusgaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8563">108,749</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Restricted stock</div> </td>
<td style="vertical-align:bottom">&#160;&#160;&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="P01_01_2024To03_31_2024_RestrictedStockMemberusgaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8564">48,597</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="P01_01_2023To03_31_2023_RestrictedStockMemberusgaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8565">107,571</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr> </table> </ix:continuation> <div style="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"><div style="font-style:italic;display:inline;">Stock Repurchase Program </div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">On February&#160;16, 2018, the Board of Directors adopted the 2018 Stock Repurchase Program of up to <ix:nonFraction name="us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" contextRef="PAsOn02_16_2018_TwoThousandEighteenStockRepurchaseProgramMemberusgaapShareRepurchaseProgramAxis" unitRef="Unit_shares" decimals="-5" scale="6" format="ixt:num-dot-decimal" id="ixv-8566">11.6</ix:nonFraction>&#160;million shares of the Company&#8217;s outstanding common stock (Stock Repurchase Program). On May&#160;4, 2023, the Trex Board of Directors adopted a new stock repurchase program (2023 Stock Repurchase Program) of up to <ix:nonFraction name="us-gaap:TreasuryStockSharesAcquired" contextRef="P05_04_2023To05_04_2023_TwoThousandTwentyThreeStockRepurchaseProgramMemberusgaapShareRepurchaseProgramAxis" unitRef="Unit_shares" decimals="INF" scale="6" format="ixt:num-dot-decimal" id="ixv-8567">10.8</ix:nonFraction>&#160;million shares of its outstanding common stock, and terminated the existing Stock Repurchase Program. The 2023 Stock Repurchase Program has no set expiration date. During the three months ended March&#160;31, 2024, Trex did <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodShares" contextRef="P01_01_2024To03_31_2024_TwoThousandTwentyThreeStockRepurchaseProgramMemberusgaapShareRepurchaseProgramAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt-sec:numwordsen" id="ixv-8568">no</ix:nonFraction>t repurchase any shares of its outstanding common stock under the 2023 Stock Repurchase Program. </div> </ix:nonNumeric> <div style="font-size:18pt;margin-top:0pt;margin-bottom:0pt">&#160;</div> <ix:nonNumeric name="us-gaap:RevenueFromContractWithCustomerTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" continuedAt="TextSelection_113862879" id="ixv-4163">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">13.</div></div></td>
<td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">REVENUE FROM CONTRACTS WITH CUSTOMERS </div></div> </td> </tr> </table> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company principally generates revenue from the manufacture and sale of its high-performance, <div style="white-space:nowrap;display:inline;">low-maintenance,</div> <div style="white-space:nowrap;display:inline;">eco-friendly</div> wood-alternative composite decking and railing products and accessories. Substantially all of its revenues are from contracts with customers, which are purchase orders of short-term duration of less than one year. Its customers, in turn, sell primarily to the residential market, which includes replacement, remodeling and new construction related to outdoor living products. The Company satisfies its performance obligations at a point in time. The shipment </div> <div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</div> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"><ix:exclude>10</ix:exclude> </div> </ix:nonNumeric></div> </div> </div> <ix:continuation id="TextSelection_113862879" continuedAt="TextSelectionAppend_113862879_1"><div></div></ix:continuation> </div> <div> <div style="line-height:normal;background-color:white;display: inline;"> <ix:continuation id="TextSelectionAppend_113862879_1" continuedAt="TextSelectionAppend_113862879_2"><ix:exclude><div style="margin-top:1em; margin-bottom:0em; page-break-before:always"></div></ix:exclude></ix:continuation> <ix:continuation id="TextSelectionAppend_113862879_2" continuedAt="TextSelectionAppend_113862879_3"><ix:exclude><hr style="color:#999999;height:3px;width:100%"/></ix:exclude></ix:continuation><ix:continuation id="TextSelectionAppend_113862879_3" continuedAt="TextSelectionAppend_113862879_4"><ix:exclude> <div style="font-size: .83em;margin-top : 1.67em;margin-bottom : 1.67em;font-weight: bold;"><a href="#toc">Table of Contents</a></div> </ix:exclude></ix:continuation> <div style="text-align:center"> <div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto"> <ix:continuation id="TextSelectionAppend_113862879_4"><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">of each product is a separate performance obligation as the customer is able to derive benefit from each product shipped and no performance obligation remains after shipment. Upon shipment of the product, the customer obtains control over the distinct product and Trex satisfies its performance obligation. Any performance obligation that remains unsatisfied at the end of a reporting period is part of a contract that has an original expected duration of one year or less. Any variable consideration related to the unsatisfied performance obligation is allocated wholly to the unsatisfied performance obligation, is recognized when the product ships and the performance obligation is satisfied and is included in &#8220;Accrued expenses and other liabilities, Sales and marketing&#8221; in Note 8 to the Condensed Consolidated Financial Statements. For the three months ended March&#160;31, 2024 and March&#160;31, 2023, the Company&#8217;s net sales of $<div style="display:inline;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8570">373,635</ix:nonFraction></div> and $<div style="display:inline;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8571">238,718</ix:nonFraction></div>, respectively, were recognized at a point in time upon transfer of its outdoor living products under variable consideration contracts into the building products market. </div> <div style="font-size:18pt;margin-top:0pt;margin-bottom:0pt"><ix:exclude>&#160;</ix:exclude></div> </ix:continuation><ix:nonNumeric name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" continuedAt="TextSelection_113862880" id="ixv-4198">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">14.</div></div></td>
<td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">STOCK-BASED COMPENSATION </div></div> </td> </tr> </table> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">At the annual meeting of stockholders of the Company held on May&#160;4, 2023, the Company&#8217;s stockholders approved the Trex Company, Inc. 2023 Stock Incentive Plan (Plan). The Company&#8217;s board of directors unanimously approved the Plan on April&#160;10, 2023, subject to stockholder approval. The Plan amends and restates in its entirety the Trex Company, Inc. 2014 Stock Incentive Plan (2014 Plan), which was last approved by the Company&#8217;s stockholders at the annual meeting held on April&#160;30, 2014. The Plan, which will be administered by the compensation committee of the board of directors, provides for the grant of stock options, restricted stock, restricted stock units, stock appreciation rights and unrestricted stock, which are referred to collectively as &#8220;awards.&#8221; Awards may be granted under the Plan to officers, directors (including <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">non-employee</div> directors) and other employees of the Company or any subsidiary thereof, to any adviser, consultant, or other provider of services to the Company (and any employee thereof), and to any other individuals who are approved by the board of directors as eligible to participate in the Plan. Only employees of the Company or any subsidiary thereof are eligible to receive incentive stock options. Subject to certain adjustments as provided in the Plan, the total number of shares of common stock available for future grants under the Plan is <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" contextRef="PAsOn03_31_2024_TwoThousandFourteenStockIncentivePlanMemberusgaapPlanNameAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-8573">4,000,000</ix:nonFraction> shares. </div> <ix:nonNumeric name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" id="ixv-4209"> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The following table summarizes the Company&#8217;s stock-based compensation grants for the three months ended March&#160;31, 2024: </div> <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:62%"/>
<td style="vertical-align:bottom;width:13%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:13%"/>
<td/>
<td/>
<td/> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Stock&#160;Awards&#160;Granted</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">Weighted-Average</div></div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Grant Price</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Per Share</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Time-based restricted stock units</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" contextRef="P01_01_2024To03_31_2024_TimeBasedRestrictedStockUnitsMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8574">48,628</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="trex:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice" contextRef="P01_01_2024To03_31_2024_TimeBasedRestrictedStockUnitsMemberusgaapAwardTypeAxis" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:num-dot-decimal" id="ixv-8575">90.86</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Performance-based restricted stock units (a)</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" contextRef="P01_01_2024To03_31_2024_PerformanceBasedRestrictedStockUnitsMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8576">80,371</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="trex:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice" contextRef="P01_01_2024To03_31_2024_PerformanceBasedRestrictedStockUnitsMemberusgaapAwardTypeAxis" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:num-dot-decimal" id="ixv-8577">81.01</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Stock appreciation rights</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" contextRef="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8578">33,277</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="trex:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice" contextRef="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:num-dot-decimal" id="ixv-8579">84.72</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr> </table> <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;">(a)</td>
<td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;">Includes <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" contextRef="P01_01_2024To03_31_2024_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8580">55,834</ix:nonFraction> of target performance-based restricted stock unit awards granted during the three months ended March&#160;31, 2024, and adjustments of <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" contextRef="P01_01_2023To12_31_2023_PerformanceBasedRestrictedStockAdjustmentMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8581">25,315</ix:nonFraction>, and (<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" contextRef="P01_01_2021To12_31_2021_PerformanceBasedRestrictedStockAdjustmentMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="0" scale="0" sign="-" format="ixt:num-dot-decimal" id="ixv-8582">778</ix:nonFraction>)&#160;to grants due to the actual performance level achieved for restricted stock and restricted stock units awarded in 2023 and 2021, respectively. </div> </td> </tr> </table> </ix:nonNumeric><ix:nonNumeric name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" id="ixv-4281"> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The fair value of each SAR is estimated on the date of grant using a <ix:nonNumeric name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsMethodUsed" contextRef="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis" id="ixv-8583">Black-Scholes option-pricing formula</ix:nonNumeric>. For SARs issued in the three months ended March&#160;31, 2024 and March&#160;31, 2023, the data and assumptions shown in the following table were used: </div> <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:61%"/>
<td style="vertical-align:bottom;width:16%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:15%"/>
<td/>
<td/>
<td/> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three&#160;Months&#160;Ended</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31, 2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three&#160;Months&#160;Ended</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31, 2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Weighted-average fair value of grants</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:num-dot-decimal" id="ixv-8584">44.83</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="P01_01_2023To03_31_2023_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:num-dot-decimal" id="ixv-8585">27.19</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Dividend yield</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" contextRef="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:num-dot-decimal" id="ixv-8586">0</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" contextRef="P01_01_2023To03_31_2023_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:num-dot-decimal" id="ixv-8587">0</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Average risk-free interest rate</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:num-dot-decimal" id="ixv-8588">4.3</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="P01_01_2023To03_31_2023_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:num-dot-decimal" id="ixv-8589">4.0</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Expected term (years)</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" contextRef="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis" format="ixt-sec:duryear" id="ixv-8590">5</ix:nonNumeric></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" contextRef="P01_01_2023To03_31_2023_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis" format="ixt-sec:duryear" id="ixv-8591">5</ix:nonNumeric></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Expected volatility</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:num-dot-decimal" id="ixv-8592">51.2</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="P01_01_2023To03_31_2023_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:num-dot-decimal" id="ixv-8593">49.5</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td> </tr> </table> </ix:nonNumeric> <div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</div> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"><ix:exclude>11</ix:exclude> </div> </ix:nonNumeric></div> </div> <ix:continuation id="TextSelection_113862880" continuedAt="TextSelectionAppend_113862880_1"><ix:exclude><div style="margin-top:1em; margin-bottom:0em; page-break-before:always"></div></ix:exclude></ix:continuation> <ix:continuation id="TextSelectionAppend_113862880_1" continuedAt="TextSelectionAppend_113862880_2"><ix:exclude><hr style="color:#999999;height:3px;width:100%"/></ix:exclude></ix:continuation><ix:continuation id="TextSelectionAppend_113862880_2" continuedAt="TextSelectionAppend_113862880_3"><ix:exclude> <div style="font-size: .83em;margin-top : 1.67em;margin-bottom : 1.67em;font-weight: bold;"><a href="#toc">Table of Contents</a></div> </ix:exclude></ix:continuation></div> </div> </div> <div> <div> <div style="line-height:normal;background-color:white;display: inline;"> <div style="text-align:center"> <div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto"> <ix:continuation id="TextSelectionAppend_113862880_3"><div style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company recognizes stock-based compensation expense ratably over the period from the grant date to the earlier of: (1)&#160;the vesting date of the award, or (2)&#160;the date the grantee is eligible to retire without forfeiting the award. For performance-based restricted stock and performance-based restricted stock units, expense is recognized ratably over the performance and vesting period of each tranche based on management&#8217;s judgment of the ultimate award that is likely to be paid out based on the achievement of the predetermined performance measures. For the employee stock purchase plan, compensation expense is recognized related to the discount on purchases. Stock-based compensation expense is included in &#8220;Selling, general and administrative expenses&#8221; in the Condensed Consolidated Statements of Comprehensive Income. <ix:nonNumeric name="us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" continuedAt="TextSelection_113862881" id="ixv-8595">The following table summarizes the Company&#8217;s stock-based compensation expense (in thousands): </ix:nonNumeric></div> <ix:continuation id="TextSelection_113862881"><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:82%"/>
<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three&#160;Months&#160;Ended</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Stock appreciation rights</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8596">271</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="P01_01_2023To03_31_2023_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8597">215</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Time-based restricted stock and restricted stock units</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="P01_01_2024To03_31_2024_TimeBasedRestrictedStockandRestrictedstockUnitsMemberusgaapAwardTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8598">1,074</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="P01_01_2023To03_31_2023_TimeBasedRestrictedStockandRestrictedstockUnitsMemberusgaapAwardTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8599">935</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Performance-based restricted stock and restricted stock units</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="P01_01_2024To03_31_2024_PerformanceBasedRestrictedStockAndrestrictedStockunitsMemberusgaapAwardTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8600">1,642</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="P01_01_2023To03_31_2023_PerformanceBasedRestrictedStockAndrestrictedStockunitsMemberusgaapAwardTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8601">724</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Employee stock purchase plan</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="P01_01_2024To03_31_2024_EmployeeStockPurchasePlanMemberusgaapAwardTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8602">166</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="P01_01_2023To03_31_2023_EmployeeStockPurchasePlanMemberusgaapAwardTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8603">98</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total stock-based compensation</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8604">3,153</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8605">1,972</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:continuation> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Total unrecognized compensation cost related to unvested awards as of March&#160;31, 2024 was $<ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:num-dot-decimal" id="ixv-8606">23.7</ix:nonFraction>&#160;million. The cost of these unvested awards is being recognized over the requisite vesting period of each award. </div> </ix:continuation> <div style="font-size:18pt;margin-top:0pt;margin-bottom:0pt">&#160;</div> <ix:nonNumeric name="us-gaap:IncomeTaxDisclosureTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" id="ixv-4507">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">15.</div></div></td>
<td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">INCOME TAXES </div></div> </td> </tr> </table> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company&#8217;s effective tax rate for the three months ended March&#160;31, 2024 and March&#160;31, 2023, was <ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:num-dot-decimal" id="ixv-8607"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:num-dot-decimal" id="ixv-8608">25.2</ix:nonFraction></ix:nonFraction>%, which resulted in income tax expense of $<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:num-dot-decimal" id="ixv-8609">29.9</ix:nonFraction>&#160;million and $<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:num-dot-decimal" id="ixv-8610">13.8</ix:nonFraction>&#160;million, respectively. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">During the three months ended March&#160;31, 2024 and March&#160;31, 2023, the Company realized $<ix:nonFraction name="trex:ExcessTaxBenefitsFromStockBasedAwards" contextRef="P01_01_2024To03_31_2024" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:num-dot-decimal" id="ixv-8611">0.6</ix:nonFraction>&#160;million and $<ix:nonFraction name="trex:ExcessTaxBenefitsFromStockBasedAwards" contextRef="P01_01_2023To03_31_2023" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:num-dot-decimal" id="ixv-8612">0.2</ix:nonFraction>&#160;million, respectively, of excess tax benefits from stock-based awards and recorded a corresponding benefit to income tax expense. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company analyzes its deferred tax assets each reporting period, considering all available positive and negative evidence in determining the expected realization of those deferred tax assets. As of March&#160;31, 2024, the Company maintains a valuation allowance of $<ix:nonFraction name="us-gaap:DeferredTaxAssetsValuationAllowance" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:num-dot-decimal" id="ixv-8613">3.3</ix:nonFraction>&#160;million against deferred tax assets primarily related to state tax credits it estimates will expire before they are realized. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company operates in multiple tax jurisdictions, and, in the normal course of business, its tax returns are subject to examination by various taxing authorities. Such examinations may result in future assessments by these taxing authorities, and the Company accrues a liability when it believes that it is more likely than not that benefits of tax positions will not be realized. The Company believes that adequate provisions have been made for all tax returns subject to examination. As of March&#160;31, 2024, for certain tax jurisdictions tax years <ix:nonNumeric name="us-gaap:OpenTaxYear" contextRef="P01_01_2024To03_31_2024_EarliestTaxYearMemberusgaapTaxPeriodAxis_InternalRevenueServiceIRSMemberusgaapIncomeTaxAuthorityNameAxis" id="ixv-8614">2020</ix:nonNumeric> through <ix:nonNumeric name="us-gaap:OpenTaxYear" contextRef="P01_01_2024To03_31_2024_InternalRevenueServiceIRSMemberusgaapIncomeTaxAuthorityNameAxis_LatestTaxYearMemberusgaapTaxPeriodAxis" id="ixv-8615">2023</ix:nonNumeric> remain subject to examination.&#160;The Company believes that adequate provisions have been made for all tax returns subject to examination. Sales made to foreign distributors are not taxable in any foreign jurisdiction as the Company does not have a taxable presence in any foreign jurisdiction. </div> </ix:nonNumeric> <div style="font-size:18pt;margin-top:0pt;margin-bottom:0pt">&#160;</div> <ix:nonNumeric name="trex:SeasonalityDisclosureTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" id="ixv-4521">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">16.</div></div></td>
<td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">SEASONALITY </div></div> </td> </tr> </table> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The operating results for Trex have historically varied from quarter to quarter. Seasonal, erratic or prolonged adverse weather conditions in certain geographic regions reduce the level of home improvement and construction activity and can shift demand for its products to a later period. As part of its normal business practice and consistent with industry practice, Trex has historically offered incentive programs to its distributors and dealers to build inventory levels before the start of the prime deck-building season in order to ensure adequate availability of its product to meet anticipated seasonal consumer demand. The seasonal effects are often offset by the positive effect of the incentive programs. </div> </ix:nonNumeric> <div style="font-size:18pt;margin-top:0pt;margin-bottom:0pt">&#160;</div> <ix:nonNumeric name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" continuedAt="TextSelection_113862886" id="ixv-4532">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">17.</div></div></td>
<td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">COMMITMENTS AND CONTINGENCIES </div></div> </td> </tr> </table> <div style="margin-top:6pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"><div style="font-style:italic;display:inline;">Product Warranty </div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company warrants that for the applicable warranty period its products, when properly installed, used and maintained, will be free from material defects in workmanship and materials and its decking, cladding, fascia and railing products will not split, splinter, rot or suffer structural damage from termites or fungal decay. </div> <div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</div> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"><ix:exclude>12</ix:exclude> </div> </ix:nonNumeric></div> </div> <ix:continuation id="TextSelection_113862886" continuedAt="TextSelectionAppend_113862886_1"><ix:exclude><div style="margin-top:1em; margin-bottom:0em; page-break-before:always"></div></ix:exclude></ix:continuation> <ix:continuation id="TextSelectionAppend_113862886_1" continuedAt="TextSelectionAppend_113862886_2"><ix:exclude><hr style="color:#999999;height:3px;width:100%"/></ix:exclude></ix:continuation><ix:continuation id="TextSelectionAppend_113862886_2" continuedAt="TextSelectionAppend_113862886_3"><ix:exclude> <div style="font-size: .83em;margin-top : 1.67em;margin-bottom : 1.67em;font-weight: bold;"><a href="#toc">Table of Contents</a></div> </ix:exclude></ix:continuation> <div style="text-align:center"> <div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto"> <ix:continuation id="TextSelectionAppend_113862886_3" continuedAt="TextSelectionAppend_113862886_4"><div style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Products sold on or after January&#160;1, 2023: The warranty period for residential use is <ix:nonNumeric name="trex:WarrantyPeriod" contextRef="P01_01_2024To03_31_2024_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis_ResidentialUseMemberusgaapGuaranteeObligationsByNatureAxis_TranscendDeckingMembersrtProductOrServiceAxis" format="ixt-sec:duryear" id="ixv-8617">50</ix:nonNumeric> years for Transcend<div style="font-size:75%; vertical-align:top;display:inline;font-size:8.3px">&#174;</div> decking, <ix:nonNumeric name="trex:WarrantyPeriod" contextRef="P01_01_2024To03_31_2024_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis_ResidentialUseMemberusgaapGuaranteeObligationsByNatureAxis_SelectDeckingAndUniversalFasciaMembersrtProductOrServiceAxis" format="ixt-sec:duryear" id="ixv-8618">35</ix:nonNumeric> years for Select<div style="font-size:75%; vertical-align:top;display:inline;font-size:8.3px">&#174;</div> decking and Universal Fascia, and <ix:nonNumeric name="trex:WarrantyPeriod" contextRef="P01_01_2024To03_31_2024_EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMembersrtProductOrServiceAxis_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis_ResidentialUseMemberusgaapGuaranteeObligationsByNatureAxis" format="ixt-sec:duryear" id="ixv-8619">25</ix:nonNumeric> years for Enhance<div style="font-size:75%; vertical-align:top;display:inline;font-size:8.3px">&#174;</div> decking and Transcend, Select, Enhance and Signature<div style="font-size:75%; vertical-align:top;display:inline;font-size:8.3px">&#174;</div> railing. The warranty period for commercial use is <ix:nonNumeric name="trex:WarrantyPeriod" contextRef="P01_01_2024To03_31_2024_CommercialUseMemberusgaapGuaranteeObligationsByNatureAxis" format="ixt-sec:duryear" id="ixv-8620">10</ix:nonNumeric> years, excluding Signature railing and Transcend cladding, which each have a warranty period of <ix:nonNumeric name="trex:WarrantyPeriod" contextRef="P01_01_2024To03_31_2024_CommercialUseMemberusgaapGuaranteeObligationsByNatureAxis_SignatureRailingAndTranscendCladdingMembersrtProductOrServiceAxis" format="ixt-sec:duryear" id="ixv-8621">25</ix:nonNumeric> years. The Company further warrants that Trex Transcend, Trex Enhance and Trex Select decking and cladding and Universal Fascia products will not fade in color from light and weathering exposure more than a certain amount and will be resistant to permanent staining from food and beverage substances or mold and mildew, provided the stain is cleaned within seven days of appearance, for the warranty period referred to above. If there is a breach of such warranties, the Company has an obligation either to replace the defective product or refund the purchase price. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Products sold prior to January&#160;1, 2023: The warranty period is <ix:nonNumeric name="trex:WarrantyPeriod" contextRef="P01_01_2024To03_31_2024_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis_ResidentialUseMemberusgaapGuaranteeObligationsByNatureAxis" format="ixt-sec:duryear" id="ixv-8622">25</ix:nonNumeric> years for residential use and <ix:nonNumeric name="trex:WarrantyPeriod" contextRef="P01_01_2024To03_31_2024_CommercialUseMemberusgaapGuaranteeObligationsByNatureAxis_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis" format="ixt-sec:duryear" id="ixv-8623">10</ix:nonNumeric>&#160;years for commercial use. With respect to Trex Signature railing, the warranty period is <ix:nonNumeric name="trex:WarrantyPeriod" contextRef="P01_01_2024To03_31_2024_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis_ResidentialAndCommercialUseMemberusgaapGuaranteeObligationsByNatureAxis_SignatureRailingMembersrtProductOrServiceAxis" format="ixt-sec:duryear" id="ixv-8624">25</ix:nonNumeric> years for both residential and commercial use. The Company further warrants that Trex Transcend, Trex Enhance, Trex Select and Universal Fascia products will not fade in color more than a certain amount and will be resistant to permanent staining from food substances or mold, provided the stain is cleaned within seven days of appearance, for the warranty period referred to above. If there is a breach of such warranties, the Company has an obligation either to replace the defective product or refund the purchase price. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company maintains a warranty reserve for the settlement of its product warranty claims. The Company accrues for the estimated cost of product warranty claims at the time revenue is recognized based on such factors as historical claims experience and future claims experience. Management reviews and adjusts these estimates, if necessary, based on the differences between actual experience and historical estimates. Additionally, the Company accrues for warranty costs associated with occasional or unanticipated product quality issues if a loss is probable and can be reasonably estimated, as necessary. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company continues to receive and settle claims for decking products manufactured at its Nevada facility prior to 2007 that exhibit surface flaking and maintains a warranty reserve to provide for the settlement of these claims. Estimating the warranty reserve for surface flaking claims requires management to estimate (1)&#160;the number of claims to be settled with payment and (2)&#160;the average cost to settle each claim. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">To estimate the number of claims to be settled with payment, the Company utilizes actuarial techniques to determine a reasonable possible range of claims to be received and the percentage of those claims that will ultimately require payment (collectively, elements). Estimates for these elements are quantified using a range of assumptions derived from claim count history and the identification of factors influencing the claim counts to determine its best estimate of future claims for which to record a related liability. The cost per claim varies due to a number of factors, including the size of affected decks, the availability and type of replacement material used, the cost of production of replacement material and the method of claim settlement. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company monitors surface flaking claims activity each quarter for indications that its estimates require revision. Typically, a majority of surface flaking claims received in a year are received during the summer outdoor season, which spans the second and third quarters. It has been the Company&#8217;s practice to utilize the actuarial techniques discussed above during the third quarter, after a significant portion of all claims has been received for the fiscal year and variances to annual claims expectations are more meaningful. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The number of incoming claims received in the three months ended March&#160;31, 2024, was lower than the number of claims received in the three months ended March&#160;31, 2023, and lower than the Company&#8217;s expectations for 2024. Average cost per claim experienced in the three months ended March&#160;31, 2024, was lower than that experienced in the three months ended March&#160;31, 2023 and lower than the Company&#8217;s expectations for 2024. The Company believes the reserve at March&#160;31, 2024 is sufficient to cover future surface flaking obligations. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company&#8217;s analysis is based on currently known facts and a number of assumptions, as discussed above, and current expectations. Projecting future events such as the number of claims to be received, the number of claims that will require payment and the average cost of claims could cause the actual warranty liabilities to be higher or lower than those projected, which could materially affect the Company&#8217;s financial condition, results of operations or cash flows. The Company estimates that the annual number of claims received will continue to decline over time and that the average cost per claim will increase slightly, primarily due to inflation. If the level of claims received or average cost per claim differs materially from expectations, it could result in additional increases or decreases to the warranty reserve and a decrease or increase in earnings and cash flows in future periods. The Company estimates that a <ix:nonFraction name="trex:PercentSensitivityChangeInExpectedSurfaceFlakingClaims" contextRef="P01_01_2024To03_31_2024_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:num-dot-decimal" id="ixv-8625">10</ix:nonFraction>% change in the expected number of remaining claims to be settled with payment or the expected cost to settle claims may result in approximately a $<ix:nonFraction name="trex:SensitivityChangeInSurfaceFlakingWarrantyReserve" contextRef="PAsOn03_31_2024" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:num-dot-decimal" id="ixv-8626">1.0</ix:nonFraction>&#160;million change in the surface flaking warranty reserve. </div> <div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</div> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"><ix:exclude>13</ix:exclude> </div></ix:continuation> </div> </div> <ix:continuation id="TextSelectionAppend_113862886_4" continuedAt="TextSelectionAppend_113862886_5"><ix:exclude><div style="margin-top:1em; margin-bottom:0em; page-break-before:always"></div></ix:exclude></ix:continuation> <ix:continuation id="TextSelectionAppend_113862886_5" continuedAt="TextSelectionAppend_113862886_6"><ix:exclude><hr style="color:#999999;height:3px;width:100%"/></ix:exclude></ix:continuation><ix:continuation id="TextSelectionAppend_113862886_6" continuedAt="TextSelectionAppend_113862886_7"><ix:exclude> <div style="font-size: .83em;margin-top : 1.67em;margin-bottom : 1.67em;font-weight: bold;"><a href="#toc">Table of Contents</a></div> </ix:exclude></ix:continuation></div> </div> <div> <div style="line-height:normal;background-color:white;display: inline;"> <div style="text-align:center"> <div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto"><ix:continuation id="TextSelectionAppend_113862886_7"><ix:nonNumeric name="us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock" contextRef="P01_01_2024To03_31_2024" escape="true" id="ixv-4589"> <div style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The following is a reconciliation of the Company&#8217;s product warranty reserve (in thousands): </div> <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:84%;border:0;margin:0 auto">
<tr>
<td style="width:72%"/>
<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:3%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:3%"/>
<td/>
<td/>
<td/> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="10" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three&#160;Months&#160;Ended&#160;March&#160;31,&#160;2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Product<br/> Warranty</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Surface<br/> Flaking</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Total</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Beginning balance, January&#160;1</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StandardProductWarrantyAccrual" contextRef="PAsOn12_31_2023_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8628">12,066</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StandardProductWarrantyAccrual" contextRef="PAsOn12_31_2023_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8629">10,112</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StandardProductWarrantyAccrual" contextRef="PAsOn12_31_2023_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8630">22,178</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Provisions and changes in estimates</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease" contextRef="P01_01_2024To03_31_2024_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8631">2,068</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease" contextRef="P01_01_2024To03_31_2024_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:fixed-zero" id="ixv-8632">&#8212;</ix:nonFraction>&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease" contextRef="P01_01_2024To03_31_2024_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8633">2,068</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Settlements made during the period</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:StandardProductWarrantyAccrualPayments" contextRef="P01_01_2024To03_31_2024_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8634">924</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:StandardProductWarrantyAccrualPayments" contextRef="P01_01_2024To03_31_2024_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8635">188</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:StandardProductWarrantyAccrualPayments" contextRef="P01_01_2024To03_31_2024_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8636">1,112</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Ending balance, March&#160;31</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StandardProductWarrantyAccrual" contextRef="PAsOn03_31_2024_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8637">13,210</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StandardProductWarrantyAccrual" contextRef="PAsOn03_31_2024_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8638">9,924</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StandardProductWarrantyAccrual" contextRef="PAsOn03_31_2024_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8639">23,134</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:84%;border:0;margin:0 auto">
<tr>
<td style="width:72%"/>
<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:3%"/>
<td/>
<td/>
<td/>
<td style="vertical-align:bottom;width:3%"/>
<td/>
<td/>
<td/> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="10" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three&#160;Months&#160;Ended&#160;March&#160;31,&#160;2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Product<br/> Warranty</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Surface<br/> Flaking</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Total</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Beginning balance, January&#160;1</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StandardProductWarrantyAccrual" contextRef="PAsOn12_31_2022_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8640">9,694</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StandardProductWarrantyAccrual" contextRef="PAsOn12_31_2022_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8641">15,905</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StandardProductWarrantyAccrual" contextRef="PAsOn12_31_2022_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8642">25,599</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Provisions and changes in estimates</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease" contextRef="P01_01_2023To03_31_2023_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8643">1,945</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease" contextRef="P01_01_2023To03_31_2023_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:fixed-zero" id="ixv-8644">&#8212;</ix:nonFraction>&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease" contextRef="P01_01_2023To03_31_2023_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8645">1,945</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Settlements made during the period</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:StandardProductWarrantyAccrualPayments" contextRef="P01_01_2023To03_31_2023_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8646">551</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:StandardProductWarrantyAccrualPayments" contextRef="P01_01_2023To03_31_2023_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8647">316</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(<ix:nonFraction name="us-gaap:StandardProductWarrantyAccrualPayments" contextRef="P01_01_2023To03_31_2023_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8648">867</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Ending balance, March&#160;31</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StandardProductWarrantyAccrual" contextRef="PAsOn03_31_2023_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8649">11,088</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StandardProductWarrantyAccrual" contextRef="PAsOn03_31_2023_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8650">15,589</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;"><ix:nonFraction name="us-gaap:StandardProductWarrantyAccrual" contextRef="PAsOn03_31_2023_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:num-dot-decimal" id="ixv-8651">26,677</ix:nonFraction></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:nonNumeric> <div style="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"><div style="font-style:italic;display:inline;">Legal Matters </div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company has lawsuits, as well as other claims, pending against it which are ordinary routine litigation and claims incidental to the business.&#160;Management has evaluated the merits of these lawsuits and claims and believes that their ultimate resolution will not have a material effect on the Company&#8217;s consolidated financial condition, results of operations, liquidity or competitive position. </div> <div style="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"><div style="font-style:italic;display:inline;">Arkansas Facility </div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">In October 2021, the Company announced plans to add a third U.S.-based manufacturing facility located in Little Rock, Arkansas, on approximately <ix:nonFraction name="us-gaap:AreaOfLand" contextRef="PAsOn10_26_2021" unitRef="Unit_acre" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-8652">300</ix:nonFraction> acres of land. The development approach and related expenditures for the new campus will be modular and calibrated to demand trends for the Company&#8217;s outdoor living products. Construction began on the new facility in the second quarter of 2022, and in July 2022, the Company entered into a design-build agreement. Construction for the new facility will be funded primarily through the Company&#8217;s ongoing cash generation or its line of credit. </div> </ix:continuation> <div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</div> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">14 </div> </div> </div> </div> </div> </div>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<hr style="color:#999999;height:3px;width:100%"/>
<h5><a href="#toc">Table of Contents</a></h5>


<div style="text-align:center"><div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto">

<table style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%" cellpadding="0" cellspacing="0">
<tr style="page-break-inside:avoid">
<td style="width:10%;vertical-align:top" align="left" id="tx788119_8"><span style="font-weight:bold">Item&#8201;2.</span></td>
<td align="left" style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;font-weight:bold;text-align:left">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations </p></td></tr></table> <p style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><span style="font-style:italic">The following management discussion should be read in conjunction with the Trex Company, Inc. (Trex, Company, we or our) Annual Report on Form <span style="white-space:nowrap">10-K</span> for the year ended December&#160;31, 2023 filed with the U.S. Securities and Exchange Commission (SEC) and the condensed consolidated financial statements and notes thereto included in Part I, Item 1. &#8220;Financial Statements&#8221; of this quarterly report. </span></p> <p style="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;font-weight:bold">NOTE ON FORWARD-LOOKING STATEMENTS </p> <p style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">This management&#8217;s discussion and analysis contains forward-looking statements within the meaning of Section&#160;27A of the Securities Act of 1933 and Section&#160;21E of the Securities Exchange Act of 1934. All statements regarding our expected financial position and operating results, our business strategy, our financing plans, forecasted demographic and economic trends relating to our industry and similar matters are forward-looking statements. These statements can sometimes be identified by our use of forward-looking words such as &#8220;may,&#8221; &#8220;will,&#8221; &#8220;anticipate,&#8221; &#8220;estimate,&#8221; &#8220;expect,&#8221; &#8220;intend&#8221; or similar expressions. We cannot promise you that our expectations in such forward-looking statements will turn out to be correct. Our actual results could be materially different from our expectations because of various factors, including the factors discussed under &#8220;Item 1A. Risk Factors&#8221; in our Annual Report on Form <span style="white-space:nowrap">10-K</span> for the year ended December&#160;31, 2023 filed with the SEC. These statements are also subject to risks and uncertainties that could cause the Company&#8217;s actual operating results to differ materially. Such risks and uncertainties include, but are not limited to: the extent of market acceptance of the Company&#8217;s current and newly developed products; the costs associated with the development and launch of new products and the market acceptance of such new products; the sensitivity of the Company&#8217;s business to general economic conditions; the impact of seasonal and weather-related demand fluctuations on inventory levels in the distribution channel and sales of the Company&#8217;s products; the availability and cost of third-party transportation services for the Company&#8217;s products and raw materials; the Company&#8217;s ability to obtain raw materials, including scrap polyethylene, wood fiber, and other materials used in making our products, at acceptable prices; increasing inflation in the macro-economic environment; the Company&#8217;s ability to maintain product quality and product performance at an acceptable cost; the Company&#8217;s ability to increase throughput and capacity to adequately match supply with demand; the level of expenses associated with warranty claims, product replacement and consumer relations expenses related to product quality; the highly competitive markets in which the Company operates; cyber-attacks, security breaches or other security vulnerabilities; the impact of current and upcoming data privacy laws and the EU General Data Protection Regulation and the related actual or potential costs and consequences; material adverse impacts from global public health pandemics, geopolitical conflicts; and material adverse impacts related to labor shortages or increases in labor costs. </p> <p style="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;font-weight:bold">OVERVIEW </p> <p style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The following MD&amp;A is intended to help the reader understand the operations and current business environment of the Company. The MD&amp;A is provided as a supplement to, and should be read in conjunction with, our Condensed Consolidated Financial Statements and the accompanying notes thereto contained in &#8220;<span style="font-style:italic">Item 1. Condensed Consolidated Financial Statements</span>&#8221; of this report. MD&amp;A includes the following sections: </p> <p style="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%" cellpadding="0" cellspacing="0">
<tr style="page-break-inside:avoid">
<td style="width:10%">&#160;</td>
<td style="width:2%;vertical-align:top" align="left">&#8226;</td>
<td style="width:1%;vertical-align:top">&#160;</td>
<td align="left" style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; font-family:Times New Roman; font-size:10pt;text-align:left"><span style="font-style:italic">Operations and Products</span> &#8212; a general description of our business, a brief overview of our reportable segment&#8217;s products, and a discussion of our operational highlights. </p></td></tr></table> <p style="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%" cellpadding="0" cellspacing="0">
<tr style="page-break-inside:avoid">
<td style="width:10%">&#160;</td>
<td style="width:2%;vertical-align:top" align="left">&#8226;</td>
<td style="width:1%;vertical-align:top">&#160;</td>
<td align="left" style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; font-family:Times New Roman; font-size:10pt;text-align:left"><span style="font-style:italic">Highlights and Financial Performance <span style="white-space:nowrap"><span style="white-space:nowrap">Quarter-to-Date</span></span> and <span style="white-space:nowrap"><span style="white-space:nowrap">Year-to-Date</span></span> &#8211; </span>a summary of financial performance and highlights for the three months ended March&#160;31, 2024, a general discussion of factors that may affect our operations, and a description of relevant financial statement line items. </p></td></tr></table> <p style="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%" cellpadding="0" cellspacing="0">
<tr style="page-break-inside:avoid">
<td style="width:10%">&#160;</td>
<td style="width:2%;vertical-align:top" align="left">&#8226;</td>
<td style="width:1%;vertical-align:top">&#160;</td>
<td align="left" style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; font-family:Times New Roman; font-size:10pt;text-align:left"><span style="font-style:italic">Results of Operations</span> &#8212; an analysis of our consolidated results of operations for the three months ended March&#160;31, 2024 compared to the three months ended March&#160;31, 2023, respectively. </p></td></tr></table> <p style="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%" cellpadding="0" cellspacing="0">
<tr style="page-break-inside:avoid">
<td style="width:10%">&#160;</td>
<td style="width:2%;vertical-align:top" align="left">&#8226;</td>
<td style="width:1%;vertical-align:top">&#160;</td>
<td align="left" style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; font-family:Times New Roman; font-size:10pt;text-align:left"><span style="font-style:italic">Liquidity and Capital Resources</span> &#8212; an analysis of cash flows; contractual obligations, and a discussion of our capital and other cash requirements. </p></td></tr></table> <p style="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;font-weight:bold">OPERATIONS AND PRODUCTS </p> <p style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><span style="font-style:italic">Trex </span>is the world&#8217;s largest manufacturer of high-performance composite decking and residential railing products, which are marketed under the brand name Trex<sup style="font-size:75%; vertical-align:top">&#174;</sup> and manufactured in the United States. With more than 30 years of product experience, we offer a comprehensive set of aesthetically appealing and durable, <span style="white-space:nowrap">low-maintenance</span> product offerings in the decking, residential railing, fencing and outdoor lighting categories. A majority of the products are <span style="white-space:nowrap">eco-friendly</span> and leverage recycled and reclaimed materials to the extent possible. Trex decking is made in a proprietary process that combines reclaimed wood fibers and recycled polyethylene film, making Trex one of the largest recyclers of plastic film in North America. In addition to resisting fading and surface staining, Trex products require no sanding and sealing, resist moisture damage, provide a splinter-free surface and do not </p>
 <p style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</p> <p style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">15 </p>

</div></div>



<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<hr style="color:#999999;height:3px;width:100%"/>
<h5><a href="#toc">Table of Contents</a></h5>


<div style="text-align:center"><div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto">
 <p style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">
require chemical treatment against rot or insect infestation. Combined, these aspects yield significant aesthetic advantages and lower maintenance than wood decking and railing and ultimately render Trex products less costly than wood over the life of the deck. Special characteristics (including resistance to splitting, the ability to bend, and ease and consistency of machining and finishing) facilitate installation, reduce contractor call-backs and afford consumers a wide range of design options. Trex products are sold to distributors and home centers for final resale primarily to the residential market. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Trex offers the following products: </p> <p style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table cellspacing="0" cellpadding="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:98%;border:0;margin:0 auto">


<tr>

<td style="width:14%"/>

<td style="vertical-align:bottom;width:1%"/>
<td style="width:85%"/></tr>


<tr style="font-size:1pt;background-color:#cccccc">
<td style="BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; padding-left:8pt;height:6pt">&#160;</td>
<td colspan="2" style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000;height:6pt">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cccccc">
<td style="BORDER-LEFT:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-left:8pt;vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:0.60em; margin-right:0.60em; font-size:10pt; font-family:Times New Roman;font-weight:bold"><span style="font-style:italic">Decking and Accessories</span></p></td>
<td style=" BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;&#160;</td>
<td style="BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-right:2pt;vertical-align:top"> <p style="margin-top:0pt; margin-bottom:0pt; margin-right:0.60em; font-size:10pt; font-family:Times New Roman">Our principal decking products are Trex Signature<sup style="font-size:75%; vertical-align:top">&#174;</sup>, Trex Transcend<sup style="font-size:75%; vertical-align:top">&#174;</sup> Lineage<sup style="font-size:75%; vertical-align:top">&#8482;</sup>, Trex Transcend<sup style="font-size:75%; vertical-align:top">&#174;</sup>, Trex Select<sup style="font-size:75%; vertical-align:top">&#174;</sup>, and Trex Enhance<sup style="font-size:75%; vertical-align:top">&#174;</sup>. In addition, our Trex Transcend decking product can also be used as cladding. Our high-performance, <span style="white-space:nowrap">low-maintenance,</span> <span style="white-space:nowrap">eco-friendly</span> composite decking products are comprised of a blend of 95&#160;percent reclaimed wood fibers and recycled polyethylene film and feature a protective polymer shell for enhanced protection against fading, staining, mold and scratching. Trex Signature decking offers realistic woodgrain aesthetics that raises the bar for beauty, performance and sustainability and is available in two luxurious hues inspired by stunning natural settings. Trex Transcend Lineage is the next generation of design and performance in composite decking and is available in four luxurious, <span style="white-space:nowrap">on-trend</span> hues inspired by some of the most picturesque locales in the United States. Our Trex Transcend decking provides elevated aesthetics paired with the highest level of performance and is available in eight multi-tonal monochromatic classical earth tones and premium tropical colors. Trex Select decking offers the perfect pairing of price and minimal maintenance and is available in five nature-inspired earth tone colors. Our Trex Enhance boards pair the beauty of authentic wood-grain appearance with the durability of composite with minimal maintenance and the affordability of wood and is available in natural and basic colors.</p> <p style="font-size:12pt; margin-top:0pt; margin-bottom:0pt">&#160;</p> <p style="margin-top:0pt; margin-bottom:0pt; margin-right:0.60em; font-size:10pt; font-family:Times New Roman">We also offer accessories to our decking products. Trex Hideaway<sup style="font-size:75%; vertical-align:top">&#174;</sup>, a self-gapping universal hidden fastener designed to give a seamless finish to every project. Trex DeckLighting<sup style="font-size:75%; vertical-align:top">&#8482;</sup>, an outdoor lighting system, is a line of energy-efficient LED dimmable deck lighting designed to use 75% less energy compared to incandescent lighting. It can be installed into the railing, stair risers or the deck itself. The line includes a post cap light, deck rail light, riser light, a soffit light and a recessed deck light. <span style="white-space:nowrap">Pre-assembled</span> stair panels that allow for easier installation are designed to save time on the jobsite.</p> <p style="font-size:6pt; margin-top:0pt; margin-bottom:1pt">&#160;</p></td></tr>
<tr style="font-size:1pt">
<td style="BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; padding-left:8pt;height:6pt">&#160;</td>
<td colspan="2" style="BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000;height:6pt">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="BORDER-LEFT:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-left:8pt;vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:0.60em; margin-right:0.60em; font-size:10pt; font-family:Times New Roman;font-weight:bold"><span style="font-style:italic">Railing</span></p></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;&#160;</td>
<td style="BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-right:2pt;vertical-align:top"> <p style="margin-top:0pt; margin-bottom:0pt; margin-right:0.60em; font-size:10pt; font-family:Times New Roman">Our railing products are Trex Transcend Railing, Trex Select Railing, and Trex Signature<sup style="font-size:75%; vertical-align:top">&#174;</sup> aluminum railing. Our high-performance composite and aluminum deck railing kits and systems are sustainably manufactured, easy to install and durable. Trex railing systems are built with the same durability as Trex decking and won&#8217;t rot, warp, peel or splinter and resist fading and corrosion. Trex Transcend Railing, made from approximately 40&#160;percent recycled content, is available in the colors of Trex Transcend decking and finishes that make it appropriate for use with Trex decking products as well as other decking materials, which we believe enhances the sales prospects of our railing products. Trex Select Railing, made from approximately 40&#160;percent recycled content, is offered in a white finish and is ideal for consumers who desire a simple clean finished look for their deck. Trex Signature aluminum railing, made from a minimum of 40&#160;percent recycled content, is available in three colors and designed for consumers who want a sleek, contemporary look.</p> <p style="font-size:6pt; margin-top:0pt; margin-bottom:1pt">&#160;</p></td></tr>
<tr style="font-size:1pt;background-color:#cccccc">
<td style="BORDER-LEFT:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; padding-left:8pt;height:6pt">&#160;</td>
<td colspan="2" style="BORDER-RIGHT:0.75pt solid #000000;height:6pt">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cccccc">
<td style="BORDER-LEFT:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-left:8pt;vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:0.60em; margin-right:0.60em; font-size:10pt; font-family:Times New Roman;font-weight:bold"><span style="font-style:italic">Fencing</span></p></td>
<td style=" BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;&#160;</td>
<td style="BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-right:2pt;vertical-align:top"> <p style="margin-top:0pt; margin-bottom:0pt; margin-right:0.60em; font-size:10pt; font-family:Times New Roman">Our Trex Seclusions<sup style="font-size:75%; vertical-align:top">&#174;</sup> composite fencing product is offered through two specialty distributors. This product consists of structural posts, bottom rail, pickets, top rail and decorative post caps. The top and bottom rails of Trex fencing are designed to provide a &#8220;picture frame&#8217; element and the deep rich colors have a matte surface to prevent harsh sunlight reflections.</p> <p style="font-size:6pt; margin-top:0pt; margin-bottom:1pt">&#160;</p></td></tr>
</table>
 <p style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</p> <p style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">16 </p>

</div></div>



<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<hr style="color:#999999;height:3px;width:100%"/>
<h5><a href="#toc">Table of Contents</a></h5>


<div style="text-align:center"><div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto">
 <p style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We are a licensor in a number of licensing agreements with third parties to manufacture and sell products under the Trex trademark. Our licensed products are: </p> <p style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table cellspacing="0" cellpadding="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:98%;border:0;margin:0 auto">


<tr>

<td style="width:19%"/>

<td style="vertical-align:bottom;width:1%"/>
<td style="width:80%"/></tr>


<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cccccc">
<td style="BORDER:0.75pt solid #000000; padding-left:8pt;vertical-align:top"> <p style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;font-weight:bold"><span style="font-style:italic">Trex<sup style="font-size:75%; vertical-align:top">&#174;</sup> Outdoor Furniture<sup style="font-size:75%; vertical-align:top">&#8482;</sup></span></p> <p style="font-size:4pt; margin-top:0pt; margin-bottom:1pt">&#160;</p></td>
<td style=" BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-right:2pt;vertical-align:top">A line of outdoor furniture products manufactured and sold by PolyWood, Inc.</td></tr>
<tr style="font-size:1pt">
<td style="BORDER-LEFT:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; padding-left:8pt;height:6pt">&#160;</td>
<td colspan="2" style="BORDER-RIGHT:0.75pt solid #000000;height:6pt">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="BORDER-LEFT:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-left:8pt;vertical-align:top"> <p style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;font-weight:bold"><span style="font-style:italic">Trex<sup style="font-size:75%; vertical-align:top">&#174;</sup> RainEscape<sup style="font-size:75%; vertical-align:top">&#174;</sup>, Trex<sup style="font-size:75%; vertical-align:top">&#174;</sup> Protect<sup style="font-size:75%; vertical-align:top">&#174;</sup>, Trex<sup style="font-size:75%; vertical-align:top">&#174;</sup><sup style="font-size:75%; vertical-align:top"> </sup>RainEscape<sup style="font-size:75%; vertical-align:top">&#174;</sup><sup style="font-size:75%; vertical-align:top"> </sup>Soffit Light, and Trex<sup style="font-size:75%; vertical-align:top">&#174;</sup><sup style="font-size:75%; vertical-align:top"> </sup>Seal<sup style="font-size:75%; vertical-align:top">&#8482;</sup><sup style="font-size:75%; vertical-align:top"> </sup>Ledger Flashing Tape</span></p> <p style="font-size:4pt; margin-top:0pt; margin-bottom:1pt">&#160;</p></td>
<td style=" BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;&#160;</td>
<td style="BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-right:2pt;vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-right:0.60em; font-size:10pt; font-family:Times New Roman">An above joist deck drainage system manufactured and sold by IBP, LLC. Trex Protect Joist, Beam and Rim tape is a self-adhesive butyl tape that protects wooden deck framing/substructure elements. Trex RainEscape Soffit Light is a <span style="white-space:nowrap"><span style="white-space:nowrap">plug-and-play</span></span> LED Soffit light&#160;that is installed in the under-deck ceiling of a <span style="white-space:nowrap">two-story</span> deck. Trex Seal Ledger Flashing tape is butyl flashing tape with an aluminum liner.</p></td></tr>
<tr style="font-size:1pt;background-color:#cccccc">
<td style="BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; padding-left:8pt;height:3.75pt">&#160;</td>
<td colspan="2" style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000;height:3.75pt">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cccccc">
<td style="BORDER-LEFT:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-left:8pt;vertical-align:top"><span style="font-weight:bold"><span style="font-style:italic">Trex<sup style="font-size:75%; vertical-align:top">&#174;</sup> Pergola<sup style="font-size:75%; vertical-align:top">&#8482;</sup></span></span></td>
<td style=" BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;&#160;</td>
<td style="BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-right:2pt;vertical-align:top"> <p style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Pergolas made from low maintenance cellular PVC and <span style="white-space:nowrap">all-aluminum</span> product, manufactured by Home&#160;&amp; Leisure, Inc. dba Structureworks Fabrication.</p> <p style="font-size:4pt; margin-top:0pt; margin-bottom:1pt">&#160;</p></td></tr>
<tr style="font-size:1pt">
<td style="BORDER-LEFT:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; padding-left:8pt;height:6pt">&#160;</td>
<td colspan="2" style="BORDER-RIGHT:0.75pt solid #000000;height:6pt">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="BORDER-LEFT:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-left:8pt;vertical-align:top"><span style="font-weight:bold"><span style="font-style:italic">Trex<sup style="font-size:75%; vertical-align:top">&#174;</sup> Lattice<sup style="font-size:75%; vertical-align:top">&#8482;</sup></span></span></td>
<td style=" BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;&#160;</td>
<td style="BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-right:2pt;vertical-align:top"> <p style="margin-top:0pt; margin-bottom:0pt; margin-right:0.60em; font-size:10pt; font-family:Times New Roman">Outdoor lattice boards manufactured and sold by Structureworks Fabrication.</p> <p style="font-size:4pt; margin-top:0pt; margin-bottom:1pt">&#160;</p></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cccccc">
<td style="BORDER:0.75pt solid #000000; padding-left:8pt;vertical-align:top"><span style="font-weight:bold"><span style="font-style:italic">Trex<sup style="font-size:75%; vertical-align:top">&#174;</sup> Cornhole<sup style="font-size:75%; vertical-align:top">&#8482;</sup></span></span></td>
<td style=" BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-right:2pt;vertical-align:top"> <p style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Cornhole boards manufactured and sold by IPC Global Marketing LLC.</p> <p style="font-size:4pt; margin-top:0pt; margin-bottom:1pt">&#160;</p></td></tr>
<tr style="font-size:1pt">
<td style="BORDER-LEFT:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; padding-left:8pt;height:6pt">&#160;</td>
<td colspan="2" style="BORDER-RIGHT:0.75pt solid #000000;height:6pt">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="BORDER-LEFT:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-left:8pt;vertical-align:top"><span style="font-weight:bold"><span style="font-style:italic">Trex<sup style="font-size:75%; vertical-align:top">&#174;</sup> Blade<sup style="font-size:75%; vertical-align:top">&#8482;</sup></span></span></td>
<td style=" BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;&#160;</td>
<td style="BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-right:2pt;vertical-align:top"> <p style="margin-top:0pt; margin-bottom:0pt; margin-right:0.60em; font-size:10pt; font-family:Times New Roman">A specialty saw blade for wood-alternative composite decking manufactured and sold by Freud America, Inc.</p> <p style="font-size:4pt; margin-top:0pt; margin-bottom:1pt">&#160;</p></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cccccc">
<td style="BORDER:0.75pt solid #000000; padding-left:8pt;vertical-align:top"><span style="font-weight:bold"><span style="font-style:italic">Trex<sup style="font-size:75%; vertical-align:top">&#174;</sup> SpiralStairs</span></span></td>
<td style=" BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-right:2pt;vertical-align:top"> <p style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">A staircase alternative for use with all deck substructures manufactured and sold by SS Industries dba Paragon Stairs.</p> <p style="font-size:4pt; margin-top:0pt; margin-bottom:1pt">&#160;</p></td></tr>
<tr style="font-size:1pt">
<td style="BORDER-LEFT:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; padding-left:8pt;height:6pt">&#160;</td>
<td colspan="2" style="BORDER-RIGHT:0.75pt solid #000000;height:6pt">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="BORDER-LEFT:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-left:8pt;vertical-align:top"> <p style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;font-weight:bold"><span style="font-style:italic">Trex<sup style="font-size:75%; vertical-align:top">&#174;</sup> Outdoor Kitchens<sup style="font-size:75%; vertical-align:top">&#8482;</sup></span></p> <p style="font-size:6pt; margin-top:0pt; margin-bottom:1pt">&#160;</p></td>
<td style=" BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;&#160;</td>
<td style="BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-right:2pt;vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-right:0.60em; font-size:10pt; font-family:Times New Roman">Outdoor kitchen cabinetry manufactured and sold by Danver Outdoor Kitchens.</p></td></tr>
</table> <p style="margin-top:16pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><span style="font-style:italic">Highlights: </span></p> <p style="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%" cellpadding="0" cellspacing="0">
<tr style="page-break-inside:avoid">
<td style="width:5%">&#160;</td>
<td style="width:3%;vertical-align:top" align="left">&#8226;</td>
<td style="width:1%;vertical-align:top">&#160;</td>
<td align="left" style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; font-family:Times New Roman; font-size:10pt;text-align:left"><span style="font-style:italic">Trex Named Most Sustainable Decking Brand by Green Builder Media for 14</span><span style="font-style:italic"><sup style="font-size:75%; vertical-align:top">th</sup></span><span style="font-style:italic"> Consecutive Year </span>and the only brand to be recognized as a sustainability leader for all 14 years of the program. </p></td></tr></table> <p style="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%" cellpadding="0" cellspacing="0">
<tr style="page-break-inside:avoid">
<td style="width:5%">&#160;</td>
<td style="width:3%;vertical-align:top" align="left">&#8226;</td>
<td style="width:1%;vertical-align:top">&#160;</td>
<td align="left" style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; font-family:Times New Roman; font-size:10pt;text-align:left"><span style="font-style:italic">Trex Expands Railing Portfolio with Launch of Trex Signature</span><span style="font-style:italic"><sup style="font-size:75%; vertical-align:top">&#174;</sup></span><span style="font-style:italic"> <span style="white-space:nowrap">X-Series</span></span><span style="font-style:italic"><sup style="font-size:75%; vertical-align:top">TM</sup></span><span style="font-style:italic">. </span>Trex has launched two new specialty railing offerings with Trex Signature<sup style="font-size:75%; vertical-align:top">&#174;</sup> <span style="white-space:nowrap">X-Series</span><sup style="font-size:75%; vertical-align:top">TM</sup> Cable Rail and Trex Signature<sup style="font-size:75%; vertical-align:top">&#174;</sup> <span style="white-space:nowrap">X-Series</span><sup style="font-size:75%; vertical-align:top">TM</sup> Frameless Glass Rail. </p></td></tr></table> <p style="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%" cellpadding="0" cellspacing="0">
<tr style="page-break-inside:avoid">
<td style="width:5%">&#160;</td>
<td style="width:3%;vertical-align:top" align="left">&#8226;</td>
<td style="width:1%;vertical-align:top">&#160;</td>
<td align="left" style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; font-family:Times New Roman; font-size:10pt;text-align:left"><span style="font-style:italic">Trex Transcend</span><sup style="font-size:75%; vertical-align:top">&#174;</sup><span style="font-style:italic"> Lineage recognized by Good Housekeeping</span> as a winner in their 2024 Sustainable Innovation Awards. </p></td></tr></table> <p style="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%" cellpadding="0" cellspacing="0">
<tr style="page-break-inside:avoid">
<td style="width:5%">&#160;</td>
<td style="width:3%;vertical-align:top" align="left">&#8226;</td>
<td style="width:1%;vertical-align:top">&#160;</td>
<td align="left" style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; font-family:Times New Roman; font-size:10pt;text-align:left"><span style="font-style:italic">Trex Ranked Among Barron&#8217;s 100 Most Sustainable Companies for 2024.</span> Trex was honored by Baron&#8217;s for outstanding leadership in environmental, social, and governance practices and was the only decking brand to be included on this year&#8217;s list. </p></td></tr></table> <p style="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%" cellpadding="0" cellspacing="0">
<tr style="page-break-inside:avoid">
<td style="width:5%">&#160;</td>
<td style="width:3%;vertical-align:top" align="left">&#8226;</td>
<td style="width:1%;vertical-align:top">&#160;</td>
<td align="left" style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; font-family:Times New Roman; font-size:10pt;text-align:left"><span style="font-style:italic">Trex awarded Morris Tolly National Supplier of the Year by Builders FirstSource, </span>and Supplier of the Year for the Northeast Region. </p></td></tr></table> <p style="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%" cellpadding="0" cellspacing="0">
<tr style="page-break-inside:avoid">
<td style="width:5%">&#160;</td>
<td style="width:3%;vertical-align:top" align="left">&#8226;</td>
<td style="width:1%;vertical-align:top">&#160;</td>
<td align="left" style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; font-family:Times New Roman; font-size:10pt;text-align:left"><span style="font-style:italic">Trex Launches Comprehensive Fastener Collection</span>. In February 2024, Trex launched its Hideaway<sup style="font-size:75%; vertical-align:top">&#174;</sup><sup style="font-size:75%; vertical-align:top"> </sup>Fastener Collection, providing solutions for every composite deck fastening and finishing need. </p></td></tr></table> <p style="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%" cellpadding="0" cellspacing="0">
<tr style="page-break-inside:avoid">
<td style="width:5%">&#160;</td>
<td style="width:3%;vertical-align:top" align="left">&#8226;</td>
<td style="width:1%;vertical-align:top">&#160;</td>
<td align="left" style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; font-family:Times New Roman; font-size:10pt;text-align:left"><span style="font-style:italic">Trex Celebrated with Six Awards for Product Excellence and Innovation </span>for decking and railing products from organizations representing audiences and input from across the building industry. </p></td></tr></table> <p style="margin-top:16pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><span style="font-weight:bold">HIGHLIGHTS AND FINANCIAL PERFORMANCE <span style="white-space:nowrap"><span style="white-space:nowrap">QUARTER-TO-DATE</span></span> AND <span style="white-space:nowrap"><span style="white-space:nowrap">YEAR-TO-DATE</span></span> </span><span style="font-style:italic"></span><span style="font-weight:bold"> </span></p> <p style="margin-top:6pt; margin-bottom:0pt; margin-left:4%; font-size:10pt; font-family:Times New Roman"><span style="font-style:italic">Financial performance. The following table presents <span style="white-space:nowrap"><span style="white-space:nowrap">quarter-to-date</span></span> highlights of our financial performance: </span></p> <p style="font-size:10pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table cellspacing="0" cellpadding="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:92%;border:0;margin:0 auto">


<tr>

<td style="width:62%"/>

<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="6" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">Three Months Ended</span><br/><span style="font-weight:bold">March&#160;31,</span></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">2024</span></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">2023</span></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">$&#160;Change</span></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">%&#160;Change</span></td>
<td style="vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom"><span style="font-style:italic">($000s omitted, except per share data)</span></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td></tr>


<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Net sales</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">373,635</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">238,718</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">134,917</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">56.5</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Gross profit</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">169,612</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">94,428</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">75,183</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">79.6</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Net income</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">89,070</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">41,131</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">47,939</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">116.6</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">EBITDA*</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">133,166</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">68,862</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">64,304</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">93.4</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Diluted earnings per share</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right"> 0.82</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right"> 0.38</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right"> 0.44</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">115.8</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td></tr>
</table> <p style="font-size:10pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%" cellpadding="0" cellspacing="0">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top" align="left"><span style="font-style:italic">*</span></td>
<td align="left" style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:left"><span style="font-style:italic">A reconciliation of Net Income (GAAP) to EBITDA <span style="white-space:nowrap">(non-GAAP)</span> is presented on page 23 of this document under &#8220;Net Income and Earnings Before Interest, Taxes, Depreciation and Amortization (EBITDA).&#8221; </span></p></td></tr></table>
 <p style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</p> <p style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">17 </p>

</div></div>



<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<hr style="color:#999999;height:3px;width:100%"/>
<h5><a href="#toc">Table of Contents</a></h5>


<div style="text-align:center"><div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto">
 <p style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><span style="font-style:italic">Capital expenditures</span>. During the 2024 first quarter, our capital expenditures were $37.7&#160;million primarily related to $21.7&#160;million for the Arkansas manufacturing facility, $4.5&#160;million in cost reduction initiatives, and $5.1&#160;million in capacity expansion in our existing facilities and safety, environmental and general support. </p> <p style="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;font-weight:bold">RESULTS OF OPERATIONS </p> <p style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><span style="font-style:italic">General.</span> Our results of operations are affected by a number of factors, including, but not limited to, the cost to manufacture and distribute products, cost of raw materials, inflation, interest rates, consumer spending and preferences, the impact of any supply chain disruptions, economic conditions, and any adverse effects from global health pandemics and geopolitical conflicts. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><span style="font-style:italic">Net Sales</span>. Net sales consist of sales, net of discounts. The level of net sales is principally affected by sales volume and the prices paid for Trex products. Trex operating results have historically varied from quarter to quarter. Seasonal, erratic or prolonged adverse weather conditions in certain geographic regions reduce the level of home and commercial improvement and residential and commercial construction and can shift demand for our products to a later period. As part of our normal business practice and consistent with industry practice, we have historically provided our distributors and dealers of our Trex products incentives to build inventory levels before the start of the prime deck-building season to ensure adequate availability of our product to meet anticipated seasonal consumer demand and to enable production planning. These incentives include payment discounts, favorable payment terms, price discounts, or volume rebates on specified products and other incentives based on increases in purchases as part of specific promotional programs. The timing of our incentive programs can significantly impact sales, receivables and inventory levels during the offering period. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><span style="font-style:italic">Gross Profit. </span>Gross profit represents the difference between net sales and cost of sales. Cost of sales consists of raw material costs, direct labor costs, manufacturing costs, subcontract costs and freight. Raw material costs generally include the costs to purchase and transport reclaimed wood fiber, reclaimed polyethylene, pigmentation for coloring our products, and commodities used in the production of railing and staging. Direct labor costs include wages and benefits of personnel engaged in the manufacturing process. Manufacturing costs consist of costs of depreciation, utilities, maintenance supplies and repairs, indirect labor, including wages and benefits, and warehouse and equipment rental activities. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><span style="font-style:italic">Selling, General and Administrative Expenses. </span>The largest component of selling, general and administrative expenses is personnel related costs, which includes salaries, commissions, incentive compensation, and benefits of personnel engaged in sales and marketing, accounting, information technology, corporate operations, research and development, and other business functions. Another component of selling, general and administrative expenses is branding and other sales and marketing costs, which are used to build brand awareness. These costs consist primarily of advertising, merchandising, and other promotional costs. Other general and administrative expenses include professional fees, office occupancy costs attributable to the business functions previously referenced, and consumer relations expenses. As a percentage of net sales, selling, general and administrative expenses may vary from quarter to quarter due, in part, to the seasonality of our business. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Below is the discussion and analysis of our operating results and material changes in our operating results for the three months ended March&#160;31, 2024 (2024 quarter) compared to the three months ended March&#160;31, 2023 (2023 quarter). </p> <p style="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;font-weight:bold"><span style="font-style:italic">Three Months Ended March&#160;31, 2024 Compared To The Three Months Ended March&#160;31, 2023 </span></p> <p style="margin-top:6pt; margin-bottom:0pt; margin-left:4%; font-size:10pt; font-family:Times New Roman;font-weight:bold">Net Sales </p> <p style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table cellspacing="0" cellpadding="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt;width:92%;border:0;margin:0 auto">


<tr>

<td style="width:63%"/>

<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="6" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">Three&#160;Months&#160;Ended&#160;March&#160;31,</span></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" rowspan="2">&#160;&#160;</td>
<td colspan="2" rowspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">$&#160;Change</span></td>
<td style="vertical-align:bottom" rowspan="2">&#160;</td>
<td style="vertical-align:bottom" rowspan="2">&#160;&#160;</td>
<td colspan="2" rowspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">%&#160;Change</span></td>
<td style="vertical-align:bottom" rowspan="2">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">2024</span></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">2023</span></td>
<td style="vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom" colspan="14" align="center"><span style="font-weight:bold">(dollars in thousands)</span></td>
<td style="vertical-align:bottom">&#160;</td></tr>


<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Net sales</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">373,635</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">238,718</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">134,917</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">56.5</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td></tr>
</table> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Net sales increased by $134.9&#160;million, or 56.5%, in the 2024 quarter compared to the 2023 quarter. The increase was substantially all due to an increase in volume, driven, in part, by changes to our <span style="white-space:nowrap">early-buy</span> program running January to March, rather than our historical December to March time frame. This change accounted for $75 million or approximately 31% of the growth in the quarter. The remainder of the growth is due to the expectations of continued favorable economic conditions for Trex&#8217;s outdoor living products. </p>
 <p style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</p> <p style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">18 </p>

</div></div>



<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<hr style="color:#999999;height:3px;width:100%"/>
<h5><a href="#toc">Table of Contents</a></h5>


<div style="text-align:center"><div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto">
 <p style="margin-top:0pt; margin-bottom:0pt; margin-left:4%; font-size:10pt; font-family:Times New Roman;font-weight:bold">Gross Profit </p> <p style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table cellspacing="0" cellpadding="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:92%;border:0;margin:0 auto">


<tr>

<td style="width:66%"/>

<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:3%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:3%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="6" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">Three&#160;Months&#160;Ended&#160;March&#160;31,</span></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" rowspan="2">&#160;</td>
<td colspan="2" rowspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">$&#160;Change</span></td>
<td style="vertical-align:bottom" rowspan="2">&#160;</td>
<td style="vertical-align:bottom" rowspan="2">&#160;&#160;</td>
<td colspan="2" rowspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">%&#160;Change</span></td>
<td style="vertical-align:bottom" rowspan="2">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">2024</span></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td colspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">2023</span></td>
<td style="vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom" colspan="14" align="center"><span style="font-weight:bold">(dollars in thousands)</span></td>
<td style="vertical-align:bottom">&#160;</td></tr>


<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Cost of sales</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">204,023</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">144,290</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">59,733</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">41.4</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:3.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">% of total net sales</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">54.6</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">60.4</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Gross profit</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">169,612</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">94,428</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">75,184</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">79.6</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:3.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Gross margin</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">45.4</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">39.6</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
</table> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Gross profit as a percentage of net sales, gross margin, was 45.4% in the 2024 quarter compared to 39.6% in the 2023 quarter. The increase was primarily due to increased capacity utilization as our channel partners build appropriate inventories to support the decking/railing season and cost efficiency programs. </p> <p style="margin-top:18pt; margin-bottom:0pt; margin-left:4%; font-size:10pt; font-family:Times New Roman;font-weight:bold">Selling, General and Administrative Expenses </p> <p style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table cellspacing="0" cellpadding="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt;width:92%;border:0;margin:0 auto">


<tr>

<td style="width:68%"/>

<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:3%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:3%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="6" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">Three&#160;Months&#160;Ended&#160;March&#160;31,</span></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" rowspan="2">&#160;</td>
<td colspan="2" rowspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">$&#160;Change</span></td>
<td style="vertical-align:bottom" rowspan="2">&#160;</td>
<td style="vertical-align:bottom" rowspan="2">&#160;&#160;</td>
<td colspan="2" rowspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">%&#160;Change</span></td>
<td style="vertical-align:bottom" rowspan="2">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">2024</span></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td colspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">2023</span></td>
<td style="vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom" colspan="14" align="center"><span style="font-weight:bold">(dollars in thousands)</span></td>
<td style="vertical-align:bottom">&#160;</td></tr>


<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Selling, general and administrative expenses</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">50,600</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">37,480</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">13,120</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">35.0</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:3.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">% of total net sales</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">13.5</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">15.7</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
</table> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Selling, general and administrative expenses increased $13.1&#160;million in the 2024 quarter. The increase primarily related to a $8.7&#160;million increase in personnel related expenses and a $3.2&#160;million increase in branding and marketing program spend for newly launched products. </p> <p style="margin-top:18pt; margin-bottom:0pt; margin-left:4%; font-size:10pt; font-family:Times New Roman;font-weight:bold">Provision for Income Taxes </p> <p style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table cellspacing="0" cellpadding="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt;width:92%;border:0;margin:0 auto">


<tr>

<td style="width:67%"/>

<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:3%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:3%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="6" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">Three&#160;Months&#160;Ended&#160;March&#160;31,</span></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" rowspan="2">&#160;</td>
<td colspan="2" rowspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">$&#160;Change</span></td>
<td style="vertical-align:bottom" rowspan="2">&#160;</td>
<td style="vertical-align:bottom" rowspan="2">&#160;&#160;</td>
<td colspan="2" rowspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">%&#160;Change</span></td>
<td style="vertical-align:bottom" rowspan="2">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">2024</span></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td colspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">2023</span></td>
<td style="vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom" colspan="14" align="center"><span style="font-weight:bold">(dollars in thousands)</span></td>
<td style="vertical-align:bottom">&#160;</td></tr>


<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Provision for income taxes</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">29,947</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">13,832</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">16,115</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">116.5</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:3.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Effective tax rate</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">25.2</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">25.2</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
</table> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The effective tax rate for the 2024 quarter and the 2023 quarter was 25.2%. </p>
 <p style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</p> <p style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">19 </p>

</div></div>



<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<hr style="color:#999999;height:3px;width:100%"/>
<h5><a href="#toc">Table of Contents</a></h5>


<div style="text-align:center"><div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto">
 <p style="margin-top:0pt; margin-bottom:0pt; margin-left:4%; font-size:10pt; font-family:Times New Roman;font-weight:bold">Net Income and Earnings Before Interest, Taxes, Depreciation and Amortization (EBITDA)<sup style="font-size:75%; vertical-align:top">1</sup> (dollars in thousands) </p> <p style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Reconciliation of net income (GAAP) to EBITDA <span style="white-space:nowrap">(non-GAAP):</span> </p> <p style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table cellspacing="0" cellpadding="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto">


<tr>

<td style="width:61%"/>

<td style="vertical-align:bottom;width:13%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:12%"/>
<td/>
<td/>
<td/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">Three&#160;Months&#160;Ended</span><br/><span style="font-weight:bold">March&#160;31,&#160;2024</span></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">Three&#160;Months&#160;Ended</span><br/><span style="font-weight:bold">March&#160;31,&#160;2023</span></td>
<td style="vertical-align:bottom">&#160;</td></tr>


<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Net Income</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right"> 89,070</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">41,131</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Interest income (expense), net</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">(5</td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">1,985</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Income tax expense</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">29,947</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">13,832</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Depreciation and amortization</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">14,154</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">11,914</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:1.00px solid #000000">&#160;</p></td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:1.00px solid #000000">&#160;</p></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:1.00px solid #000000">&#160;</p></td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:1.00px solid #000000">&#160;</p></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">EBITDA</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">133,166</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">68,862</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:1.00px solid #000000">&#160;</p></td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:1.00px solid #000000">&#160;</p></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:1.00px solid #000000">&#160;</p></td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:1.00px solid #000000">&#160;</p></td>
<td>&#160;</td></tr>
</table> <p style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table cellspacing="0" cellpadding="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt;width:92%;border:0;margin:0 auto">


<tr>

<td style="width:65%"/>

<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="6" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">Three&#160;Months&#160;Ended&#160;March&#160;31,</span></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" rowspan="2">&#160;&#160;</td>
<td colspan="2" rowspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">$&#160;Change</span></td>
<td style="vertical-align:bottom" rowspan="2">&#160;</td>
<td style="vertical-align:bottom" rowspan="2">&#160;&#160;</td>
<td colspan="2" rowspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">%&#160;Change</span></td>
<td style="vertical-align:bottom" rowspan="2">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">2024</span></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">2023</span></td>
<td style="vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom" colspan="14" align="center"><span style="font-weight:bold">(dollars in thousands)</span></td>
<td style="vertical-align:bottom">&#160;</td></tr>


<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">EBITDA</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">133,166</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">68,862</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">64,304</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">93.4</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td></tr>
</table> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">EBITDA increased 93.4% to $133.2&#160;million for the 2024 quarter compared to $68.9&#160;million for the 2023 quarter. The increase in EBITDA was driven primarily by an increase in net sales and gross profit. </p> <p style="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;font-weight:bold">LIQUIDITY AND CAPITAL RESOURCES </p> <p style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We finance operations and growth primarily with cash flows from operations, borrowings under our revolving credit facilities, operating leases and normal trade credit terms from operating activities. At March&#160;31, 2024, we had $3.1&#160;million of cash and cash equivalents. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">S<span style="font-style:italic">ources and Uses of Cash. </span>The following table summarizes our cash flows from operating, investing and financing activities (in thousands): </p> <p style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table cellspacing="0" cellpadding="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto">


<tr>

<td style="width:75%"/>

<td style="vertical-align:bottom;width:4%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:3%"/>
<td/>
<td/>
<td/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="6" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">Three&#160;Months&#160;Ended&#160;March&#160;31,</span></td>
<td style="vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">2024</span></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">2023</span></td>
<td style="vertical-align:bottom">&#160;</td></tr>


<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Net cash used in operating activities</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">(174,044</td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">(115,471</td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Net cash used in investing activities</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">(37,614</td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">(39,192</td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Net cash provided by financing activities</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">212,752</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">146,254</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:1.00px solid #000000">&#160;</p></td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:1.00px solid #000000">&#160;</p></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:1.00px solid #000000">&#160;</p></td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:1.00px solid #000000">&#160;</p></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Net increase (decrease) in cash and cash equivalents</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right"> 1,094</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">(8,409</td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:3.00px double #000000">&#160;</p></td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:3.00px double #000000">&#160;</p></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:3.00px double #000000">&#160;</p></td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:3.00px double #000000">&#160;</p></td>
<td>&#160;</td></tr>
</table> <p style="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;font-weight:bold">Operating Activities </p> <p style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Cash used in operations was $174&#160;million during the first quarter of 2024 compared to cash used in operations of $115.5&#160;million during the first quarter of 2023. The $58.5&#160;million increase in cash used in operating activities was primarily related to an increase in accounts receivable and inventories. The increase in accounts receivable is primarily driven by the increase in net sales in the first quarter of 2024 compared to the first quarter of 2023. Substantially all of the accounts receivables balances as of March&#160;31, 2024 will be collected during the second quarter of 2024. The increase in inventories is the result of increased production in the first quarter of 2024 compared to the first quarter of 2023. The effects of the increase in accounts receivable and inventory were offset, in part, by higher earnings and increases in accounts payable, accrued expenses, and income taxes payable. </p> <p style="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;font-weight:bold">Investing Activities </p> <p style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Capital expenditures in the 2024 quarter were $37.7&#160;million primarily related to $21.7&#160;million for the Arkansas manufacturing facility, $4.5&#160;million in cost reduction initiatives, and $5.1&#160;million in capacity expansion in our existing facilities and safety, environmental and general support. </p> <p style="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;font-weight:bold">Financing Activities </p> <p style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Net cash provided by financing activities in the 2024 quarter consisted primarily of net borrowings under our line of credit. </p> <p style="line-height:8.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1px solid #000000;width:11%">&#160;</p>
<table style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%" cellpadding="0" cellspacing="0">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top" align="left"><sup style="font-size:75%; vertical-align:top">1</sup>&#160;</td>
<td align="left" style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:left">EBITDA represents net income before interest, income taxes, depreciation and amortization. EBITDA is not a measurement of financial performance under accounting principles generally accepted in the United States (GAAP). We have included data with respect to EBITDA because management believes it facilitates performance comparison between the Company and its competitors, and management evaluates the performance of its reportable segments using several measures, including EBITDA. Management considers EBITDA to be an important supplemental indicator of our core operating performance because it eliminates interest, income taxes, and depreciation and amortization charges to net income or loss. In relation to competitors, EBITDA eliminates differences among companies in capitalization and tax structures, capital investment cycles and ages of related assets. For these reasons, management believes that EBITDA provides important information regarding the operating performance of the Company and its reportable segments. <span style="white-space:nowrap">Non-GAAP</span> financial measures should be viewed in addition to, and not as an alternative for, the Company&#8217;s reported results prepared in accordance with GAAP and are not meant to be considered superior to or a substitute for our GAAP results. </p></td></tr></table>
 <p style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</p> <p style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">20 </p>

</div></div>



<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<hr style="color:#999999;height:3px;width:100%"/>
<h5><a href="#toc">Table of Contents</a></h5>


<div style="text-align:center"><div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto">
 <p style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><span style="font-style:italic">Stock Repurchase Program. </span>On February&#160;16, 2018, the Trex Board of Directors adopted a stock repurchase program of up to 11.6&#160;million shares of its outstanding common stock (Stock Repurchase Program). As of March&#160;31, 2023, the Company has repurchased 10.1&#160;million shares under the Stock Repurchase Program. On May&#160;4, 2023, the Trex Board of Directors adopted a new stock repurchase program of up to 10.8&#160;million shares of its outstanding common stock, and terminated the existing Stock Repurchase Program. This repurchase program has no set expiration date. During the three months ended March&#160;31, 2024, the Company did not repurchase any shares of its common stock under the 2023 Stock Repurchase Program. </p> <p style="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><span style="font-style:italic">Revolving Credit Facility </span></p> <p style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">On May&#160;18, 2022, the Company entered into a Credit Agreement (Credit Agreement) with certain lending parties thereto (Lenders) to amend and restate the Fourth Amended and Restated Credit Agreement dated as of November&#160;5, 2019. Under the Credit Agreement, the Lenders agreed to provide the Company with one or more Revolving Loans in a collective maximum principal amount of $400,000,000 (Loan Limit) throughout the term, which ends May&#160;18, 2027 (Term). Included within the Loan Limit are sublimits for a Letter of Credit facility in an amount not to exceed $60,000,000; and Swing Line Loans in an aggregate principal amount at any time outstanding not to exceed $20,000,000. The Revolving Loans, the Letter of Credit facility and the Swing Line Loans are for the purpose of raising working capital and supporting general business operations. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">On December&#160;22, 2022, the Company entered into a First Amendment to the Credit Agreement (First Amendment). As a part of the First Amendment, the Credit Agreement was amended and restated to provide for an additional Revolving B Loan (as hereinafter defined). Under the First Amendment, the Lenders agreed to provide the Company with a Revolving B Loan consisting of one or more revolving loans in a collective maximum principal amount of $150,000,000 (Revolving B Loan Limit) throughout the term, which ends December&#160;22, 2024 (Revolving B Loan Term). Previously, under the Credit Agreement, there was no Revolving B Loan. The First Amendment also provided that TD Bank, N.A. would serve as Syndication Agent. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">In conjunction with the First Amendment, on December&#160;22, 2022, the Credit Agreement was amended and restated to refer to this loan as the Revolving A Loan. The amended and restated Credit Agreement was made an Exhibit A to the First Amendment. All of the terms of the Credit Agreement apply to the Revolving B Loan. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Notes provide the Company, in the aggregate, the ability to borrow an amount up to the Revolving A Loan Limit during the Revolving A Loan Term and Revolving B Loan Limit during the Revolving B Loan Term. The Company is not obligated to borrow any amount under the revolving loans. Within the respective loan limit, the Company may borrow, repay and reborrow at any time or from time to time while the Notes are in effect. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Base Rate Loans (as defined in the Credit Agreement) under the Revolving A Loan and the Swing Line Loans accrue interest at the Base Rate plus the Applicable Rate (as defined in the Credit Agreement) and Term SOFR Loans for the Revolving Loans accrue interest at the rate per annum equal to the sum of Term SOFR for such interest period&#160;plus&#160;the Applicable Rate (as defined in the Credit Agreement). The Base Rate for any day is a fluctuating rate per annum equal to the highest of (a)&#160;the Federal Funds Rate plus 0.50%, (b) the rate of interest in effect for such day as publicly announced from time to time by BOA as its prime rate, and (c)&#160;the Term SOFR plus 1.0% subject to certain interest rate floors. Repayment of all then outstanding principal, interest, fees and costs is due at the end of the Term. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">With respect to Revolving B Loans (as defined in the First Amendment), for any day, the rate per annum is a tiered pricing based upon the Consolidated Debt to Consolidated EBITDA Ratio. The applicable rate for Revolving B Loans that are Base Rate Loans range between 1.20% and 2.15% and the applicable rate for Revolving B Loans that are Term SOFR/Term SOFR Daily Floating Rate range between 0.20% and 1.15%. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Under the terms of the Security and Pledge Agreement, the Company, subject to certain permitted encumbrances, as collateral security for the above-stated loans and all other present and future indebtedness of the Company owing to the Lenders grants a continuing security interest in certain collateral described and defined in the Security and Pledge Agreement but excluding the Excluded Property (as defined in the Security and Pledge Agreement). </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">At March&#160;31, 2024, we had $223&#160;million in outstanding borrowings under the revolving credit facility and borrowing capacity under the facility of $327&#160;million. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><span style="font-style:italic">Compliance with Debt Covenants. </span>Pursuant to the terms of the Credit Agreement, the Company is subject to certain loan compliance covenants. The Company was in compliance with all covenants as of March&#160;31, 2024. Failure to comply with the financial covenants could be considered a default of repayment obligations and, among other remedies, could accelerate payment of any amounts outstanding. </p>
 <p style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</p> <p style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">21 </p>

</div></div>



<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<hr style="color:#999999;height:3px;width:100%"/>
<h5><a href="#toc">Table of Contents</a></h5>


<div style="text-align:center"><div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto">
 <p style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We believe that cash on hand, cash from operations and borrowings expected to be available under our revolving credit facilities will provide sufficient funds to fund planned capital expenditures, make scheduled principal and interest payments, fund warranty payments, and meet other cash requirements. We currently expect to fund future capital expenditures from operations and financing activities. The actual amount and timing of future capital requirements may differ materially from our estimate depending on the demand for Trex products and new market developments and opportunities. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><span style="font-style:italic">Capital Requirements.</span> In October 2021, we announced plans to add a third U.S.-based manufacturing facility located in Little Rock, Arkansas, on approximately 300 acres of land that will address increased demand for Trex outdoor living products. The development approach and related expenditures for the new campus will be modular and calibrated to demand trends for Trex outdoor living products. Our capital expenditure guidance for 2024 is $210&#160;million to $230&#160;million and includes estimated expenditures for the development of the Arkansas facility in 2024. Construction for the new facility will be funded primarily through the Company&#8217;s ongoing cash generation or its line of credit. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">In addition to the construction of the Arkansas facility, our capital allocation priorities for 2024 include expenditures for internal growth opportunities, manufacturing cost reductions, upgrading equipment and support systems, and acquisitions which fit our long-term growth strategy as we continue to evaluate opportunities that would be a good strategic fit for Trex, and return of capital to shareholders. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Inventory in Distribution Channels. We sell our decking and railing products through a tiered distribution system. We have over 50 distributors worldwide and two national retail merchandisers to which we sell our products. The distributors in turn sell the products to dealers and retail locations who in turn sell the products to end users. Significant increases in inventory levels in the distribution channel without a corresponding change in <span style="white-space:nowrap">end-use</span> demand could have an adverse effect on future sales. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><span style="font-style:italic">Product Warranty.</span> We warrant that for the applicable warranty period our products, when properly installed, used and maintained, will be free from material defects in workmanship and materials and our decking, cladding, fascia and railing products will not split, splinter, rot or suffer structural damage from termites or fungal decay. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Products sold on or after January&#160;1, 2023: The warranty period for residential use is 50 years for Transcend<sup style="font-size:75%; vertical-align:top">&#174;</sup> decking, 35 years for Select<sup style="font-size:75%; vertical-align:top">&#174;</sup> decking and Universal Fascia, and 25 years for Enhance<sup style="font-size:75%; vertical-align:top">&#174;</sup> decking and Transcend, Select, Enhance and Signature<sup style="font-size:75%; vertical-align:top">&#174;</sup> railing. The warranty period for commercial use is 10 years, excluding Signature railing and Transcend cladding, which each have a warranty period of 25 years. We further warrant that Trex Transcend, Trex Enhance and Trex Select decking and cladding and Universal Fascia products will not fade in color from light and weathering exposure more than a certain amount and will be resistant to permanent staining from food and beverage substances or mold and mildew, provided the stain is cleaned within seven days of appearance, for the warranty period referred to above. If there is a breach of such warranties, we have an obligation either to replace the defective product or refund the purchase price. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Products sold prior to January&#160;1, 2023: The warranty period is 25 years for residential use and 10&#160;years for commercial use. With respect to Trex Signature railing, the warranty period is 25 years for both residential and commercial use. We further warrant that Trex Transcend, Trex Enhance, Trex Select and Universal Fascia products will not fade in color more than a certain amount and will be resistant to permanent staining from food substances or mold, provided the stain is cleaned within seven days of appearance, for the warranty period referred to above. If there is a breach of such warranties, we have an obligation either to replace the defective product or refund the purchase price. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We maintain a warranty reserve for the settlement of our product warranty claims. We accrue for the estimated cost of product warranty claims at the time revenue is recognized based on such factors as historical claims experience and future claims experience. We review and adjust these estimates, if necessary, based on the differences between actual experience and historical estimates. Additionally, we accrue for warranty costs associated with occasional or unanticipated product quality issues if a loss is probable and can be reasonably estimated. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We continue to receive and settle claims for products manufactured at our Nevada facility prior to 2007 that exhibit surface flaking and maintain a warranty reserve to provide for the settlement of these claims. Estimating the warranty reserve for surface flaking claims requires management to estimate (1)&#160;the number of claims to be settled with payment and (2)&#160;the average cost to settle each claim. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">To estimate the number of surface flaking claims to be settled with payment, we utilize actuarial techniques to quantify both the expected number of claims to be received and the percentage of those claims that will ultimately require payment (collectively, elements). Estimates for these elements are quantified using a range of assumptions derived from claim count history and the identification of factors influencing the claim counts. The cost per claim varies due to a number of factors, including the size of affected decks, the availability and type of replacement material used, the cost of production of replacement material and the method of claim settlement. </p>
 <p style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</p> <p style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">22 </p>

</div></div>



<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<hr style="color:#999999;height:3px;width:100%"/>
<h5><a href="#toc">Table of Contents</a></h5>


<div style="text-align:center"><div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto">
 <p style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We monitor surface flaking claims activity each quarter for indications that our estimates require revision. Typically, a majority of surface flaking claims received in a year are received during the summer outdoor season, which spans the second and third quarters. It has been our practice to utilize the actuarial techniques discussed above during the third quarter, after a significant portion of all claims has been received for the fiscal year and variances to annual claims expectations are more meaningful. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The number of incoming claims received in the three months ended March&#160;31, 2024, was lower than the number of claims received in the three months ended March&#160;31, 2023, and lower than our expectations for 2024. Average cost per claim experienced in the three months ended March&#160;31, 2024, was lower than that experienced in the three months ended March&#160;31, 2023 and lower than our expectations for 2024. We believe the reserve at March&#160;31, 2024 is sufficient to cover future surface flaking obligations. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Our analysis is based on currently known facts and a number of assumptions, as discussed above, and current expectations. Projecting future events such as the number of claims to be received, the number of claims that will require payment and the average cost of claims could cause the actual warranty liabilities to be higher or lower than those projected, which could materially affect our financial condition, results of operations or cash flows. We estimate that the annual number of claims received will continue to decline over time and that the average cost per claim will increase slightly, primarily due to inflation. If the level of claims received or average cost per claim differs materially from expectations, it could result in additional increases or decreases to the warranty reserve and a decrease or increase in earnings and cash flows in future periods. We estimate that a 10% change in the expected number of remaining claims to be settled with payment or the expected cost to settle claims may result in approximately a $1.0&#160;million change in the surface flaking warranty reserve. </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The following table details surface flaking claims activity related to our warranty: </p> <p style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table cellspacing="0" cellpadding="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto">


<tr>

<td style="width:79%"/>

<td style="vertical-align:bottom;width:6%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:5%"/>
<td/>
<td/>
<td/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="6" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">Three&#160;Months&#160;Ended&#160;March&#160;31,</span></td>
<td style="vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">2024</span></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td colspan="2" align="center" style="border-bottom:1.00pt solid #000000;vertical-align:bottom"><span style="font-weight:bold">2023</span></td>
<td style="vertical-align:bottom">&#160;</td></tr>


<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Claims open, beginning of period</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">1,695</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">1,729</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Claims received (1)</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">69</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">81</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Claims resolved (2)</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">(65</td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">(81</td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:1.00px solid #000000">&#160;</p></td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:1.00px solid #000000">&#160;</p></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:1.00px solid #000000">&#160;</p></td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:1.00px solid #000000">&#160;</p></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Claims open, end of period</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">1,699</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">1,729</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:3.00px double #000000">&#160;</p></td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:3.00px double #000000">&#160;</p></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:3.00px double #000000">&#160;</p></td>
<td style="vertical-align:bottom"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-top:3.00px double #000000">&#160;</p></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Average cost per claim (3)</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">3,460</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom" align="right">4,114</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
</table> <p style="line-height:8.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1px solid #000000;width:11%">&#160;</p>
<table style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%" cellpadding="0" cellspacing="0">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top" align="left">(1)</td>
<td align="left" style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:left">Claims received include new claims received or identified during the period. </p></td></tr></table>
<table style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%" cellpadding="0" cellspacing="0">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top" align="left">(2)</td>
<td align="left" style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:left">Claims resolved include all claims settled with or without payment and closed during the period. </p></td></tr></table>
<table style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%" cellpadding="0" cellspacing="0">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top" align="left">(3)</td>
<td align="left" style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:left">Average cost per claim represents the average settlement cost of claims closed with payment during the period. </p></td></tr></table> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><span style="font-style:italic">Seasonality</span>. The operating results for Trex have historically varied from quarter to quarter. Seasonal, erratic or prolonged adverse weather conditions in certain geographic regions may reduce the level of home improvement and construction activity and can shift demand for its products to a later period. As part of its normal business practice and consistent with industry practice, Trex has historically offered incentive programs to its distributors and dealers to build inventory levels before the start of the prime deck-building season in order to ensure adequate availability of its product to meet anticipated seasonal consumer demand. The seasonal effects are often offset by the positive effect of the incentive programs. </p> <p style="font-size:18pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%" cellpadding="0" cellspacing="0">
<tr style="page-break-inside:avoid">
<td style="width:9%;vertical-align:top" align="left" id="tx788119_9"><span style="font-weight:bold">Item&#8201;3.</span></td>
<td align="left" style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;font-weight:bold;text-align:left">Quantitative and Qualitative Disclosures About Market Risk </p></td></tr></table> <p style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">For information regarding our exposure to certain market risks, see &#8220;Quantitative and Qualitative Disclosures about Market Risk,&#8221; in Part II, Item 7A of the Company&#8217;s Annual Report on Form <span style="white-space:nowrap">10-K</span> for the year ended December&#160;31, 2023. There were no material changes to the Company&#8217;s market risk exposure during the three months ended March&#160;31, 2024. </p>
 <p style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</p> <p style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">23 </p>

</div></div>



<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<hr style="color:#999999;height:3px;width:100%"/>
<h5><a href="#toc">Table of Contents</a></h5>


<div style="text-align:center"><div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto">

<table style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%" cellpadding="0" cellspacing="0">
<tr style="page-break-inside:avoid">
<td style="width:9%;vertical-align:top" align="left" id="tx788119_10"><span style="font-weight:bold">Item&#8201;4.</span></td>
<td align="left" style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;font-weight:bold;text-align:left">Controls and Procedures </p></td></tr></table> <p style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company&#8217;s management, with the participation of its President and Chief Executive Officer, who is the Company&#8217;s principal executive officer, and its Senior Vice President and Chief Financial Officer, who is the Company&#8217;s principal financial officer, has evaluated the effectiveness of the Company&#8217;s disclosure controls and procedures as of March&#160;31, 2024. Based on this evaluation, the President and Chief Executive Officer and the Senior Vice President and Chief Financial Officer have concluded that the Company&#8217;s disclosure controls and procedures are effective. There have been no changes in the Company&#8217;s internal control over financial reporting during the three-month period ended March&#160;31, 2024, that have materially affected, or are reasonably likely to materially affect, the Company&#8217;s internal control over financial reporting. </p>
 <p style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</p> <p style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">24 </p>

</div></div>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<hr style="color:#999999;height:3px;width:100%"/>
<h5><a href="#toc">Table of Contents</a></h5>
<div style="display: none"><ix:header><ix:references><link:schemaRef xlink:type="simple" xlink:href="trex-20240331.xsd"/></ix:references></ix:header></div><div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><div id="tx788119_11" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;display:inline;">PART II </div></div></div><div style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;display:inline;">OTHER INFORMATION </div></div></div><div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentColor; border-image: none; width: 100%; font-family: Times New Roman; font-size: 10pt; border-collapse: collapse;">
<tr style="page-break-inside: avoid;">
<td id="tx788119_12" style="width: 10%; vertical-align: top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Item&#8201;1.</div></div></td>
<td style="vertical-align: top;text-align:left;"><div style="text-align: left; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;display:inline;">Legal Proceedings </div></div></div></td></tr></table><div style="clear:both;max-height:0pt;"></div><div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;display:inline;">The Company has lawsuits, as well as other claims, pending against it which are ordinary routine litigation and claims incidental to the business.&#160;Management has evaluated the merits of these lawsuits and claims and believes that their ultimate resolution will not have a material effect on the Company&#8217;s consolidated financial condition, results of operations, liquidity or competitive position. </div></div><div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentColor; border-image: none; width: 100%; font-family: Times New Roman; font-size: 10pt; border-collapse: collapse;">
<tr style="page-break-inside: avoid;">
<td id="tx788119_13" style="width: 10%; vertical-align: top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Item&#8201;2.</div></div></td>
<td style="vertical-align: top;text-align:left;"><div style="text-align: left; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;display:inline;">Unregistered Sales of Equity Securities and Use of Proceeds </div></div></div></td></tr></table><div style="clear:both;max-height:0pt;"></div><div style="font-family: Times New Roman; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">(c) The following table provides information relating to the purchases of our common stock during the three months ended March&#160;31, 2024 in accordance with Item 703 of Regulation <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">S-K:</div> </div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentColor; border-image: none; width: 100%; font-family: Times New Roman; font-size: 8pt; border-collapse: collapse;">
<tr>
<td style="width: 48%; font-family: &quot;Times New Roman&quot;;"/>
<td style="width: 8%; vertical-align: bottom; font-family: &quot;Times New Roman&quot;;"/>
<td style="font-family: &quot;Times New Roman&quot;;"/>
<td style="font-family: &quot;Times New Roman&quot;;"/>
<td style="font-family: &quot;Times New Roman&quot;;"/>
<td style="width: 8%; vertical-align: bottom; font-family: &quot;Times New Roman&quot;;"/>
<td style="font-family: &quot;Times New Roman&quot;;"/>
<td style="font-family: &quot;Times New Roman&quot;;"/>
<td style="font-family: &quot;Times New Roman&quot;;"/>
<td style="width: 8%; vertical-align: bottom; font-family: &quot;Times New Roman&quot;;"/>
<td style="font-family: &quot;Times New Roman&quot;;"/>
<td style="font-family: &quot;Times New Roman&quot;;"/>
<td style="font-family: &quot;Times New Roman&quot;;"/>
<td style="width: 8%; vertical-align: bottom; font-family: &quot;Times New Roman&quot;;"/>
<td style="font-family: &quot;Times New Roman&quot;;"/>
<td style="font-family: &quot;Times New Roman&quot;;"/>
<td style="font-family: &quot;Times New Roman&quot;;"/></tr>
<tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 0.5pt;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 8pt; letter-spacing: 0px; top: 0px;display:inline;">Period</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">(a)</div></div><br/><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Total&#160;Number&#160;of</div></div><br/><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Shares&#160;(or&#160;Units)</div></div><br/><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Purchased (1)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">(b)</div></div><br/><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Average&#160;Price&#160;Paid</div></div><br/><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">per&#160;Share&#160;(or&#160;Unit)</div></div><br/><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">($)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">(c)</div></div><br/><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Total&#160;Number&#160;of</div></div><br/><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Shares&#160;(or&#160;Units)</div></div><br/><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Purchased&#160;as&#160;Part&#160;of</div></div><br/><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Publicly Announced</div></div><br/><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Plans&#160;or&#160;Programs&#160;(2)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">(d)</div></div><br/><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Maximum&#160;Number&#160;of<br/>Shares&#160;(or&#160;Units)&#160;that</div></div><br/><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">May Yet Be</div></div><br/><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Purchased Under the</div></div><br/><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Plan or Program</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="font-family: Times New Roman; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;display:inline;">January&#160;1, 2024 &#8211; January&#160;31, 2024</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">&#8212;&#8194;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">&#8212;&#8194;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">&#8212;&#8194;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">10,535,104</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: Times New Roman; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;display:inline;">February&#160;1, 2024 &#8211; February&#160;29, 2024</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">12,588</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">90.30</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">&#8212;&#8194;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">10,535,104</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: Times New Roman; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;display:inline;">March&#160;1, 2024 &#8211; March&#160;31, 2024</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">42,515</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">94.53</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">&#8212;&#8194;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">10,535,104</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;;"/>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div></td>
<td>&#160;</td></tr>
<tr style="font-family: Times New Roman; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;display:inline;">Quarterly period ended March&#160;31, 2024</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">55,103</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;;"/>
<td style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;;"/>
<td style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;;"/>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">&#8212;&#8194;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;;"/>
<td style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;;"/>
<td style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;;"/></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;;"/>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;;"/>
<td style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;;"/>
<td style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;;"/>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;;"/>
<td style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;;"/>
<td style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;;"/></tr></table><div style="clear:both;max-height:0pt;"></div><div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentColor; border-image: none; width: 100%; font-family: Times New Roman; font-size: 10pt; border-collapse: collapse;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;text-align:left;">(1)</td>
<td style="vertical-align: top;text-align:left;"><div style="text-align: left; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;display:inline;">During the three months ended March&#160;31, 2024, 55,103 shares were withheld by, or delivered to, the Company pursuant to provisions in agreements with recipients of restricted stock granted under the Company&#8217;s 2014 and 2023 Stock Incentive Plan allowing the Company to withhold, or the recipient to deliver to the Company, the number of shares having the fair value equal to tax withholding due. </div></div></td></tr></table><div style="clear:both;max-height:0pt;"></div><div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentColor; border-image: none; width: 100%; font-family: Times New Roman; font-size: 10pt; border-collapse: collapse;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;text-align:left;">(2)</td>
<td style="vertical-align: top;text-align:left;"><div style="text-align: left; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;display:inline;">On May&#160;4, 2023, the Trex Board of Directors adopted a new stock repurchase program of up to 10.8&#160;million shares of its outstanding common stock, and terminated the existing Stock Repurchase Program. This repurchase program has no set expiration date and no shares were repurchased under the program during the three months ended March&#160;31, 2024. </div></div></td></tr></table><div style="clear:both;max-height:0pt;"></div><div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentColor; border-image: none; width: 100%; font-family: Times New Roman; font-size: 10pt; border-collapse: collapse;">
<tr style="page-break-inside: avoid;">
<td id="tx788119_14" style="width: 10%; vertical-align: top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Item&#8201;5.</div></div></td>
<td style="vertical-align: top;text-align:left;"><div style="text-align: left; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;display:inline;">Other Information </div></div></div></td></tr></table><div style="clear:both;max-height:0pt;"></div><div style="font-family: Times New Roman; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"><div style="font-style:italic;display:inline;">Submission of Matters to a Vote of Security Holders </div></div></div><div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;display:inline;">Trex held its Annual Meeting of Stockholders on May&#160;7, 2024. Only holders of Trex common stock at the close of business on March&#160;11, 2024 (Record Date) were entitled to vote at the Annual Meeting.&#160;As of the Record Date, there were 108,687,117 shares of common stock entitled to vote.&#160;A total of 99,835,270 shares of common stock (91.86%), constituting a quorum, were represented in person or by valid proxies at the Annual Meeting. </div></div><div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;display:inline;">The stockholders voted on three proposals at the Annual Meeting. The proposals are described in detail in the Company&#8217;s definitive proxy statement dated March&#160;25, 2024. The final results for the votes regarding each proposal are set forth below. </div></div><div style="font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Proposal 1:</div></div> Trex stockholders elected four directors to the Board to serve for a three-year term until the 2027 annual meeting of stockholders and until their successors are duly elected and qualified. The votes regarding this proposal were as follows: </div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentColor; border-image: none; width: 92%; font-family: Times New Roman; font-size: 10pt; border-collapse: collapse;">
<tr>
<td style="width: 57%;"/>
<td style="width: 3%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 3%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 3%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 3%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">For</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Against</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Abstain</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">Broker&#160;Non-Votes</div></div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: Times New Roman; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;display:inline;">James E. Cline</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">84,323,526</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">8,046,900</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">93,358</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">7,371,486</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: Times New Roman; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;display:inline;">Gena C. Lovett</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">90,639,582</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">1,566,880</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">257,322</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">7,371,486</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: Times New Roman; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;display:inline;">Melkeya McDuffie</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">91,145,150</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">1,061,132</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">257,502</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">7,371,486</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: Times New Roman; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;display:inline;">Patricia B. Robinson</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">85,029,285</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">7,343,772</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">90,727</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:right;">7,371,486</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr></table><div style="clear:both;max-height:0pt;"></div><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div><div style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;display:inline;">25 </div></div></div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;font-weight: bold;"><a href="#toc">Table of Contents</a></div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><div style="font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Proposal 2:</div></div> Trex stockholders approved, on an advisory basis, the compensation of the Company&#8217;s executive officers named in the Company&#8217;s definitive proxy statement dated March&#160;25, 2024. The votes regarding this proposal were as follows: </div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;text-indent: 0px;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentColor; border-image: none; width: 84%; font-family: Times New Roman; font-size: 10pt; border-collapse: collapse;text-indent: 0px;">
<tr>
<td/>
<td style="width: 23%; vertical-align: bottom;"/>
<td/>
<td style="width: 23%; vertical-align: bottom;"/>
<td/>
<td style="width: 23%; vertical-align: bottom;"/>
<td/></tr>
<tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">For</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Against</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Abstain</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">Broker&#160;Non-Votes</div></div></div></td></tr>
<tr style="font-family: Times New Roman; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: bottom;text-align:center;">85,747,668</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:center;">6,605,124</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:center;">110,992</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:center;">7,371,486<br/></td></tr></table><div style="clear:both;max-height:0pt;text-indent: 0px;"></div><div style="font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Proposal 3:</div></div> Trex stockholders ratified the selection of Ernst&#160;&amp; Young LLP as the Company&#8217;s independent registered public accounting firm for the fiscal year ended December&#160;31, 2024. The votes regarding this proposal were as follows: </div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;text-indent: 0px;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentColor; border-image: none; width: 84%; font-family: Times New Roman; font-size: 10pt; border-collapse: collapse;text-indent: 0px;">
<tr>
<td/>
<td style="width: 25%; vertical-align: bottom;"/>
<td/>
<td style="width: 25%; vertical-align: bottom;"/>
<td/>
<td style="width: 25%; vertical-align: bottom;"/>
<td/></tr>
<tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">For</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Against</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Abstain</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">Broker&#160;Non-Votes</div></div></div></td></tr>
<tr style="font-family: Times New Roman; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: bottom;text-align:center;">95,797,073</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:center;">3,997,128</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:center;">61,069</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;text-align:center;">&#8212;</td></tr></table><div style="clear:both;max-height:0pt;text-indent: 0px;"></div><div style="font-family: Times New Roman; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt; margin-left: 4%;text-indent: 0px;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"><div style="font-style:italic;display:inline;">Insider Trading Arrangements </div></div></div><div style="text-indent: 9%; font-family: Times New Roman; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">During the quarter ended March&#160;31, 2024, <ix:nonNumeric name="ecd:Rule10b51ArrAdoptedFlag" contextRef="P01_01_2024To03_31_2024" format="ixt:fixed-false" id="ixv-8656"><ix:nonNumeric name="ecd:NonRule10b51ArrAdoptedFlag" contextRef="P01_01_2024To03_31_2024" format="ixt:fixed-false" id="ixv-8657"><ix:nonNumeric name="ecd:Rule10b51ArrTrmntdFlag" contextRef="P01_01_2024To03_31_2024" format="ixt:fixed-false" id="ixv-8658"><ix:nonNumeric name="ecd:NonRule10b51ArrTrmntdFlag" contextRef="P01_01_2024To03_31_2024" format="ixt:fixed-false" id="ixv-8659">no</ix:nonNumeric></ix:nonNumeric></ix:nonNumeric></ix:nonNumeric>ne of our directors or officers (as defined in Rule <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">16a-1(f)</div> of the Exchange Act) adopted, modified or terminated any contract, instruction or written plan for the purchase or sale of our securities that was intended to satisfy the affirmative defense conditions of Rule <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">10b5-1(c)</div> of the Exchange Act or any <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">non-Rule</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">10b5-1</div> trading arrangement (as defined in Item 408(c) of Regulation <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">S-K).</div> </div><div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;text-indent: 0px;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentColor; border-image: none; width: 100%; font-family: Times New Roman; font-size: 10pt; border-collapse: collapse;text-indent: 0px;">
<tr style="page-break-inside: avoid;">
<td id="tx788119_15" style="width: 10%; vertical-align: top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Item&#8201;6.</div></div></td>
<td style="vertical-align: top;text-align:left;"><div style="text-align: left; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;display:inline;">Exhibits </div></div></div></td></tr></table><div style="clear:both;max-height:0pt;text-indent: 0px;"></div><div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">See Exhibit Index at the end of the Quarterly Report on Form <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">10-Q</div> for the information required by this Item which is incorporated by reference. </div><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;text-indent: 0px;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;display:inline;">&#160;</div></div><div style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;text-indent: 0px;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;display:inline;">26 </div></div></div></div></div>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<hr style="color:#999999;height:3px;width:100%"/>
<h5><a href="#toc">Table of Contents</a></h5>


<div style="text-align:center"><div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto">
 <p style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;font-weight:bold;text-align:center">SIGNATURE </p> <p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized. </p> <p style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table cellspacing="0" cellpadding="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:100%;border:0">


<tr>

<td style="width:45%"/>

<td style="vertical-align:bottom;width:1%"/>
<td style="width:4%"/>

<td style="vertical-align:bottom"/>
<td style="width:3%"/>

<td style="vertical-align:bottom;width:1%"/>
<td style="width:45%"/></tr>


<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top" colspan="3"><span style="font-weight:bold">TREX COMPANY, INC.</span></td></tr>
<tr style="font-size:1pt">
<td style="height:12pt"/>
<td style="height:12pt" colspan="2"/>
<td style="height:12pt" colspan="2"/>
<td style="height:12pt" colspan="2"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top">Date: May&#160;9, 2024</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top">By:</td>
<td style=" BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td align="center" style="BORDER-BOTTOM:0.75pt solid #000000;vertical-align:top">/s/ Brenda K. Lovcik</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top" align="center">Brenda K. Lovcik</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top" align="center">Senior Vice President and Chief Financial Officer</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"/>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top" align="center">(<span style="font-style:italic">Duly Authorized Officer and Principal Financial Officer</span>)</td></tr>
</table>
</div></div>



<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<hr style="color:#999999;height:3px;width:100%"/>
<h5><a href="#toc">Table of Contents</a></h5>


<div style="text-align:center"><div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto">
 <p style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;font-weight:bold;text-align:center">EXHIBIT INDEX </p> <p style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table cellspacing="0" cellpadding="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:100%;border:0;margin:0 auto">


<tr>

<td/>

<td style="vertical-align:bottom;width:1%"/>
<td style="width:62%"/>

<td style="vertical-align:bottom;width:1%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:1%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:1%"/>
<td/>
<td/>
<td/>

<td style="vertical-align:bottom;width:1%"/>
<td/>
<td/>
<td/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom" colspan="14" align="center"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-bottom:1.00pt solid #000000; display:inline-block; font-size:8pt; font-family:Times New Roman;font-weight:bold;text-align:center">Incorporated by reference</p></td>
<td style="vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align:bottom;white-space:nowrap" align="center"> <p style="margin-top:0pt; margin-bottom:0pt; font-size:8pt; font-family:Times New Roman;font-weight:bold;text-align:center">Exhibit</p> <p style="margin-top:0pt; margin-bottom:1pt; border-bottom:1.00pt solid #000000; display:inline-block; font-size:8pt; font-family:Times New Roman;font-weight:bold;text-align:center">Number</p></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" align="center"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-bottom:1.00pt solid #000000; display:inline-block; font-size:8pt; font-family:Times New Roman;font-weight:bold;text-align:center">Description</p></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom" colspan="2" align="center"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-bottom:1.00pt solid #000000; display:inline-block; font-size:8pt; font-family:Times New Roman;font-weight:bold;text-align:center">Form</p></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom" colspan="2" align="center"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-bottom:1.00pt solid #000000; display:inline-block; font-size:8pt; font-family:Times New Roman;font-weight:bold;text-align:center">Exhibit</p></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom" colspan="2" align="center"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-bottom:1.00pt solid #000000; display:inline-block; font-size:8pt; font-family:Times New Roman;font-weight:bold;text-align:center">Filing&#160;Date</p></td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom" colspan="2" align="center"> <p style=" margin-top:0pt ; margin-bottom:0pt; border-bottom:1.00pt solid #000000; display:inline-block; font-size:8pt; font-family:Times New Roman;font-weight:bold;text-align:center">File&#160;No.</p></td>
<td style="vertical-align:bottom">&#160;</td></tr>


<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top;white-space:nowrap">&#8199;&#8199;3.1</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"><a href="http://www.sec.gov/Archives/edgar/data/1069878/000119312521233453/d158478dex36.htm">Restated Certificate of Incorporation of Trex Company, Inc. dated July<span style="text-decoration:underline"></span>&#160;28, 2021.</a></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" align="right"><span style="white-space:nowrap">10-Q</span></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" align="right">3.6</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" align="right">August&#160;2, 2021</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" align="right"><span style="white-space:nowrap">001-14649</span></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top;white-space:nowrap">&#8199;&#8199;3.2</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"><a href="http://www.sec.gov/Archives/edgar/data/1069878/000119312522145117/d336988dex32.htm">First Certificate of Amendment to the Restated Certificate of Incorporation of Trex Company, Inc. dated May&#160;5, 2022 </a></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" align="right"><span style="white-space:nowrap">10-Q</span></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" align="right">3.2</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" align="right">May&#160;9, 2022</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" align="right"><span style="white-space:nowrap">001-14649</span></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top;white-space:nowrap">&#8199;&#8199;3.3</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"><a href="http://www.sec.gov/Archives/edgar/data/1069878/000119312524046315/d667935dex33.htm">Amended and Restated <span style="white-space:nowrap">By-Laws</span> of the Company dated February&#160;21, 2024 </a></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" align="right"><span style="white-space:nowrap">10-K</span></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" align="right">3.3</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" align="right">February&#160;26,&#160;2024</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom" align="right"><span style="white-space:nowrap">001-14649</span></td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top;white-space:nowrap">&#8199;31.1*</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"><a href="d788119dex311.htm">Certification of Chief Executive Officer of the Company pursuant to Rule <span style="white-space:nowrap">13a-14(a)</span> under the Securities Exchange Act of 1934. </a></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top;white-space:nowrap">&#8199;31.2*</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"><a href="d788119dex312.htm">Certification of Chief Financial Officer of the Company pursuant to Rule<span style="text-decoration:underline"></span><span style="white-space:nowrap">&#160;13a-14(a)</span> under the Securities Exchange Act of 1934. </a></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top;white-space:nowrap">&#8199;32***</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top"><a href="d788119dex32.htm">Certifications of Chief Executive Officer and Chief Financial Officer pursuant to Section<span style="text-decoration:underline"></span>&#160;906 of the Sarbanes-Oxley Act of 2002 (18<span style="text-decoration:underline"></span>&#160;U.S.C.<span style="text-decoration:underline">&#160;</span><span style="text-decoration:underline">&#167;</span><span style="text-decoration:underline"></span>&#160;1350). </a></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top;white-space:nowrap">101.INS*</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top">Inline XBRL Instance Document&#8212;the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top;white-space:nowrap">101.SCH*</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top">Inline XBRL Taxonomy Extension Schema Document.</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top;white-space:nowrap">101.CAL*</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top">Inline XBRL Taxonomy Extension Calculation Linkbase Document.</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top;white-space:nowrap">101.DEF*</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top">Inline XBRL Taxonomy Extension Definition Linkbase Document.</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top;white-space:nowrap">101.LAB*</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top">Inline XBRL Taxonomy Extension Label Linkbase Document.</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top;white-space:nowrap">101.PRE*</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top">Inline XBRL Taxonomy Extension Presentation Linkbase Document.</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
<tr style="font-size:1pt">
<td style="height:6pt"/>
<td style="height:6pt" colspan="2"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/>
<td style="height:6pt" colspan="4"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top;white-space:nowrap">104.1</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="vertical-align:top">Cover Page Interactive Data File&#8212;The cover page interactive data file does not appear in the interactive data file because its XBRL tags are embedded within the inline XBRL document.</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/>
<td style="vertical-align:bottom"/></tr>
</table> <p style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</p>
<table style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%" cellpadding="0" cellspacing="0">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top" align="left">*</td>
<td align="left" style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:left">Filed herewith. </p></td></tr></table>
<table style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%" cellpadding="0" cellspacing="0">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top" align="left">**</td>
<td align="left" style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:left">Management contract or compensatory plan or agreement. </p></td></tr></table>
<table style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%" cellpadding="0" cellspacing="0">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top" align="left">***</td>
<td align="left" style="vertical-align:top"> <p style=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:left">Furnished herewith. </p></td></tr></table>
</div></div>

</body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>d788119dex311.htm
<DESCRIPTION>EX-31.1
<TEXT>
<HTML><HEAD>
<TITLE>EX-31.1</TITLE>
</HEAD>
 <BODY BGCOLOR="WHITE" STYLE="line-height:Normal">


<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="right"><B>Exhibit 31.1 </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>CERTIFICATION </B></P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">I, Bryan
H. Fairbanks, certify that: </P> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">1.</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">I have reviewed this quarterly report on Form <FONT STYLE="white-space:nowrap">10-Q</FONT> of Trex Company,
Inc.; </P></TD></TR></TABLE> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">2.</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a
material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report; </P></TD></TR></TABLE>
<P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">3.</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Based on my knowledge, the financial statements, and other financial information included in this report,
fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report; </P></TD></TR></TABLE>
<P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">4.</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">The registrant&#146;s other certifying officer(s) and I are responsible for establishing and maintaining
disclosure controls and procedures (as defined in Exchange Act Rules <FONT STYLE="white-space:nowrap">13a-15(e)</FONT> and <FONT STYLE="white-space:nowrap">15d-15(e))</FONT> and internal control over financial reporting (as defined in Exchange Act
Rules <FONT STYLE="white-space:nowrap">13a-15(f)</FONT> and <FONT STYLE="white-space:nowrap">15d-15(f))</FONT> for the registrant and have: </P></TD></TR></TABLE>
<P STYLE="margin-top:6pt; margin-bottom:0pt; margin-left:4%; font-size:10pt; font-family:Times New Roman">(a) Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision,
to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared; </P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; margin-left:4%; font-size:10pt; font-family:Times New Roman">(b) Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our
supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles; </P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; margin-left:4%; font-size:10pt; font-family:Times New Roman">(c) Evaluated the effectiveness of the registrant&#146;s disclosure controls and procedures and presented in this report our conclusions about
the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and </P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; margin-left:4%; font-size:10pt; font-family:Times New Roman">(d) Disclosed in this report any change in the registrant&#146;s internal control over financial reporting that occurred during the
registrant&#146;s most recent fiscal quarter (the registrant&#146;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#146;s internal control over
financial reporting; and </P> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">5.</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">The registrant&#146;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of
internal control over financial reporting, to the registrant&#146;s auditors and the audit committee of the registrant&#146;s board of directors (or persons performing the equivalent functions): </P></TD></TR></TABLE>
<P STYLE="margin-top:6pt; margin-bottom:0pt; margin-left:4%; font-size:10pt; font-family:Times New Roman">(a) All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are
reasonably likely to adversely affect the registrant&#146;s ability to record, process, summarize and report financial information; and </P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; margin-left:4%; font-size:10pt; font-family:Times New Roman">(b) Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#146;s
internal control over financial reporting. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Date: May&nbsp;9, 2024 </P><DIV ALIGN="right">
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="40%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt">


<TR>

<TD WIDTH="100%"></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman">/s/ Bryan H. Fairbanks</P></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">Bryan H. Fairbanks</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">President and Chief Executive Officer</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"><I>(Principal Executive Officer)</I></TD></TR>
</TABLE></DIV>
</DIV></Center>

</BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>3
<FILENAME>d788119dex312.htm
<DESCRIPTION>EX-31.2
<TEXT>
<HTML><HEAD>
<TITLE>EX-31.2</TITLE>
</HEAD>
 <BODY BGCOLOR="WHITE" STYLE="line-height:Normal">


<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="right"><B>Exhibit 31.2 </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>CERTIFICATION </B></P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">I, Brenda
K. Lovcik, certify that: </P> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">1.</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">I have reviewed this quarterly report on Form <FONT STYLE="white-space:nowrap">10-Q</FONT> of Trex Company,
Inc.; </P></TD></TR></TABLE> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">2.</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a
material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report; </P></TD></TR></TABLE>
<P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">3.</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Based on my knowledge, the financial statements, and other financial information included in this report,
fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report; </P></TD></TR></TABLE>
<P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">4.</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">The registrant&#146;s other certifying officer(s) and I are responsible for establishing and maintaining
disclosure controls and procedures (as defined in Exchange Act Rules <FONT STYLE="white-space:nowrap">13a-15(e)</FONT> and <FONT STYLE="white-space:nowrap">15d-15(e))</FONT> and internal control over financial reporting (as defined in Exchange Act
Rules <FONT STYLE="white-space:nowrap">13a-15(f)</FONT> and <FONT STYLE="white-space:nowrap">15d-15(f))</FONT> for the registrant and have: </P></TD></TR></TABLE>
<P STYLE="margin-top:6pt; margin-bottom:0pt; margin-left:4%; font-size:10pt; font-family:Times New Roman">(a) Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision,
to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared; </P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; margin-left:4%; font-size:10pt; font-family:Times New Roman">(b) Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our
supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles; </P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; margin-left:4%; font-size:10pt; font-family:Times New Roman">(c) Evaluated the effectiveness of the registrant&#146;s disclosure controls and procedures and presented in this report our conclusions about
the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and </P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; margin-left:4%; font-size:10pt; font-family:Times New Roman">(d) Disclosed in this report any change in the registrant&#146;s internal control over financial reporting that occurred during the
registrant&#146;s most recent fiscal quarter (the registrant&#146;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#146;s internal control over
financial reporting; and </P> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">5.</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">The registrant&#146;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of
internal control over financial reporting, to the registrant&#146;s auditors and the audit committee of the registrant&#146;s board of directors (or persons performing the equivalent functions): </P></TD></TR></TABLE>
<P STYLE="margin-top:6pt; margin-bottom:0pt; margin-left:4%; font-size:10pt; font-family:Times New Roman">(a) All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are
reasonably likely to adversely affect the registrant&#146;s ability to record, process, summarize and report financial information; and </P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; margin-left:4%; font-size:10pt; font-family:Times New Roman">(b) Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#146;s
internal control over financial reporting. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Date: May&nbsp;9, 2024 </P>
<P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P><DIV ALIGN="right">
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="40%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt">


<TR>

<TD WIDTH="100%"></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman">/s/ Brenda K. Lovcik</P></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">Brenda K. Lovcik</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Senior Vice President and Chief Financial Officer</P>
<P STYLE="margin-top:0pt; margin-bottom:1pt; font-size:10pt; font-family:Times New Roman"><I>(Principal Financial Officer)</I></P></TD></TR>
</TABLE></DIV>
</DIV></Center>

</BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32
<SEQUENCE>4
<FILENAME>d788119dex32.htm
<DESCRIPTION>EX-32
<TEXT>
<HTML><HEAD>
<TITLE>EX-32</TITLE>
</HEAD>
 <BODY BGCOLOR="WHITE" STYLE="line-height:Normal">


<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="right"><B>Exhibit 32 </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>Certifications of Chief Executive Officer and Chief Financial Officer </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>Pursuant to Section&nbsp;906 </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>of the Sarbanes-Oxley Act of 2002 (18 U.S.C. Section&nbsp;1350) </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">The undersigned, the President and Chief Executive Officer and the Vice President and Chief Financial Officer of Trex Company, Inc. (the &#147;Company&#148;),
each hereby certifies that, on the date hereof: </P> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">(a)</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">the Quarterly Report on Form <FONT STYLE="white-space:nowrap">10-Q</FONT> of the Company for the quarterly
period ended March&nbsp;31, 2024 filed on the date hereof with the U.S. Securities and Exchange Commission (the &#147;Report&#148;) fully complies with the requirements of Section&nbsp;13(a) or 15(d) of the Securities Exchange Act of 1934; and
</P></TD></TR></TABLE> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">(b)</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">information contained in the Report fairly presents, in all material respects, the financial condition and
results of operations of the Company. </P></TD></TR></TABLE> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt">


<TR>

<TD WIDTH="47%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="4%"></TD>

<TD VALIGN="bottom"></TD>
<TD></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="46%"></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">Date: May&nbsp;9, 2024</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman">/s/ Bryan H. Fairbanks</P></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top">Bryan H. Fairbanks</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top">President and Chief Executive Officer</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">Date: May&nbsp;9, 2024</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman">/s/ Brenda K. Lovcik</P></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top">Brenda K. Lovcik</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top">Senior Vice President and Chief Financial Officer</TD></TR>
</TABLE>
</DIV></Center>

</BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>5
<FILENAME>trex-20240331.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by DFIN XBRL Instance Document - http://www.dfinsolutions.com/ - Version R3.0 - on 08-May-2024 [09:46:53] {PM}-->
<schema targetNamespace="http://www.trex.com/20240331" elementFormDefault="qualified" xmlns:trex="http://www.trex.com/20240331" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:currency="http://xbrl.sec.gov/currency/2023" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:exch="http://xbrl.sec.gov/exch/2023" xmlns:naics="http://xbrl.sec.gov/naics/2023" xmlns:sic="http://xbrl.sec.gov/sic/2023" xmlns:us-types="http://fasb.org/us-types/2023" xmlns:stpr="http://xbrl.sec.gov/stpr/2023" xmlns:deprecated="http://www.xbrl.org/2009/arcrole/fact-explanatoryFact" xmlns:srt="http://fasb.org/srt/2023" xmlns:srt-types="http://fasb.org/srt-types/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21">
<annotation>
<appinfo>
<link:roleType roleURI="http://www.trex.com/role/CoverPage" id="CoverPage">
<link:definition>1001 - Document - Cover Page</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome" id="CondensedConsolidatedStatementsOfComprehensiveIncome">
<link:definition>1002 - Statement - Condensed Consolidated Statements Of Comprehensive Income</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/CondensedConsolidatedBalanceSheets" id="CondensedConsolidatedBalanceSheets">
<link:definition>1003 - Statement - Condensed Consolidated Balance Sheets</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/CondensedConsolidatedBalanceSheetsParenthetical" id="CondensedConsolidatedBalanceSheetsParenthetical">
<link:definition>1004 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity" id="CondensedConsolidatedStatementsOfChangesInStockholdersEquity">
<link:definition>1005 - Statement - Condensed Consolidated Statements of Changes in Stockholders' Equity</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows" id="CondensedConsolidatedStatementsOfCashFlows">
<link:definition>1006 - Statement - Condensed Consolidated Statements of Cash Flows</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/BusinessAndOrganization" id="BusinessAndOrganization">
<link:definition>999001 - Disclosure - Business and Organization</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/BasisOfPresentation" id="BasisOfPresentation">
<link:definition>999002 - Disclosure - Basis of Presentation</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/RecentlyAdoptedAccountingStandards" id="RecentlyAdoptedAccountingStandards">
<link:definition>999003 - Disclosure - Recently Adopted Accounting Standards</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/NewAccountingStandardsNotYetAdopted" id="NewAccountingStandardsNotYetAdopted">
<link:definition>999004 - Disclosure - New Accounting Standards Not Yet Adopted</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/Inventories" id="Inventories">
<link:definition>999005 - Disclosure - Inventories</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/PrepaidExpensesAndOtherAssets" id="PrepaidExpensesAndOtherAssets">
<link:definition>999006 - Disclosure - Prepaid Expenses and Other Assets</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNet" id="GoodwillAndOtherIntangibleAssetsNet">
<link:definition>999007 - Disclosure - Goodwill and Other Intangible Assets, Net</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/AccruedExpensesAndOtherLiabilities" id="AccruedExpensesAndOtherLiabilities">
<link:definition>999008 - Disclosure - Accrued Expenses and Other Liabilities</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/Debt" id="Debt">
<link:definition>999009 - Disclosure - Debt</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/Leases" id="Leases">
<link:definition>999010 - Disclosure - Leases</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/FinancialInstruments" id="FinancialInstruments">
<link:definition>999011 - Disclosure - Financial Instruments</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/StockholdersEquity" id="StockholdersEquity">
<link:definition>999012 - Disclosure - Stockholders' Equity</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/RevenueFromContractsWithCustomers" id="RevenueFromContractsWithCustomers">
<link:definition>999013 - Disclosure - Revenue From Contracts With Customers</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/StockBasedCompensation" id="StockBasedCompensation">
<link:definition>999014 - Disclosure - Stock-Based Compensation</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/IncomeTaxes" id="IncomeTaxes">
<link:definition>999015 - Disclosure - Income Taxes</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/Seasonality" id="Seasonality">
<link:definition>999016 - Disclosure - Seasonality</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/CommitmentsAndContingencies" id="CommitmentsAndContingencies">
<link:definition>999017 - Disclosure - Commitments and Contingencies</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/InventoriesTables" id="InventoriesTables">
<link:definition>999018 - Disclosure - Inventories (Tables)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/PrepaidExpensesAndOtherAssetsTables" id="PrepaidExpensesAndOtherAssetsTables">
<link:definition>999019 - Disclosure - Prepaid Expenses and Other Assets (Tables)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesTables" id="AccruedExpensesAndOtherLiabilitiesTables">
<link:definition>999020 - Disclosure - Accrued Expenses and Other Liabilities (Tables)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/LeasesTables" id="LeasesTables">
<link:definition>999021 - Disclosure - Leases (Tables)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/StockholdersEquityTables" id="StockholdersEquityTables">
<link:definition>999022 - Disclosure - Stockholders' Equity (Tables)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/StockBasedCompensationTables" id="StockBasedCompensationTables">
<link:definition>999023 - Disclosure - Stock-Based Compensation (Tables)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/CommitmentsAndContingenciesTables" id="CommitmentsAndContingenciesTables">
<link:definition>999024 - Disclosure - Commitments and Contingencies (Tables)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/BusinessAndOrganizationAdditionalInformationDetail" id="BusinessAndOrganizationAdditionalInformationDetail">
<link:definition>999025 - Disclosure - Business and Organization - Additional Information (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/InventoriesSummaryOfInventoriesDetail" id="InventoriesSummaryOfInventoriesDetail">
<link:definition>999026 - Disclosure - Inventories - Summary of Inventories (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/PrepaidExpensesAndOtherAssetsSummaryOfPrepaidExpensesAndOtherAssetsDetail" id="PrepaidExpensesAndOtherAssetsSummaryOfPrepaidExpensesAndOtherAssetsDetail">
<link:definition>999027 - Disclosure - Prepaid Expenses and Other Assets - Summary of Prepaid Expenses and Other Assets (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail" id="GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail">
<link:definition>999028 - Disclosure - Goodwill and Other Intangible Assets, Net - Additional Information (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail" id="AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail">
<link:definition>999029 - Disclosure - Accrued Expenses and Other Liabilities - Summary of Accrued Expenses and Other Liabilities (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/DebtAdditionalInformationDetail" id="DebtAdditionalInformationDetail">
<link:definition>999030 - Disclosure - Debt - Additional Information (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/LeasesAdditionalInformationDetail" id="LeasesAdditionalInformationDetail">
<link:definition>999031 - Disclosure - Leases - Additional Information (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail" id="LeasesSupplementalCashFlowInformationToOperatingLeasesDetail">
<link:definition>999032 - Disclosure - Leases - Supplemental Cash flow Information to operating leases (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail" id="LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail">
<link:definition>999033 - Disclosure - Leases - Maturities of Operating Lease Liabilities (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/StockholdersEquityAdditionalInformationDetail" id="StockholdersEquityAdditionalInformationDetail">
<link:definition>999034 - Disclosure - Stockholders' Equity - Additional Information (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail" id="StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail">
<link:definition>999035 - Disclosure - Stockholders' Equity - Computation of Basic and Diluted Earnings Per Share (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/StockholdersEquityAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareDetail" id="StockholdersEquityAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareDetail">
<link:definition>999036 - Disclosure - Stockholders' Equity - Antidilutive Securities Excluded from Computation of Earnings Per Share (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/RevenueFromContractsWithCustomersAdditionalInformationDetail" id="RevenueFromContractsWithCustomersAdditionalInformationDetail">
<link:definition>999037 - Disclosure - Revenue From Contracts With Customers - Additional Information (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail" id="StockBasedCompensationAdditionalInformationDetail">
<link:definition>999038 - Disclosure - Stock-Based Compensation - Additional Information (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationExpensesDetail" id="StockBasedCompensationSummaryOfStockBasedCompensationExpensesDetail">
<link:definition>999039 - Disclosure - Stock-Based Compensation - Summary of Stock-Based Compensation Expenses (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail" id="StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail">
<link:definition>999040 - Disclosure - Stock-Based Compensation - Summary of Assumptions Used to Estimate Fair Value of Each SAR (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationGrantsDetail" id="StockBasedCompensationSummaryOfStockBasedCompensationGrantsDetail">
<link:definition>999041 - Disclosure - Stock-Based Compensation - Summary of Stock-Based Compensation Grants (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail" id="IncomeTaxesAdditionalInformationDetail">
<link:definition>999042 - Disclosure - Income Taxes - Additional Information (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail" id="CommitmentsAndContingenciesAdditionalInformationDetail">
<link:definition>999043 - Disclosure - Commitments and Contingencies - Additional Information (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail" id="CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail">
<link:definition>999044 - Disclosure - Commitments and Contingencies - Summary of Reconciliation of Company's Residential Product Warranty Reserve (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.trex.com/role/InsiderTradingArrangements" id="InsiderTradingArrangements">
<link:definition>999045 - Disclosure - Insider Trading Arrangements</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:linkbaseRef xlink:type="simple" xlink:href="trex-20240331_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
<link:linkbaseRef xlink:type="simple" xlink:href="trex-20240331_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
<link:linkbaseRef xlink:type="simple" xlink:href="trex-20240331_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
<link:linkbaseRef xlink:type="simple" xlink:href="trex-20240331_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
</appinfo>
</annotation>
<import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
<import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
<import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
<import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd" />
<import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd" />
<import namespace="http://xbrl.sec.gov/currency/2023" schemaLocation="https://xbrl.sec.gov/currency/2023/currency-2023.xsd" />
<import namespace="http://xbrl.sec.gov/exch/2023" schemaLocation="https://xbrl.sec.gov/exch/2023/exch-2023.xsd" />
<import namespace="http://xbrl.sec.gov/naics/2023" schemaLocation="https://xbrl.sec.gov/naics/2023/naics-2023.xsd" />
<import namespace="http://xbrl.sec.gov/sic/2023" schemaLocation="https://xbrl.sec.gov/sic/2023/sic-2023.xsd" />
<import namespace="http://xbrl.sec.gov/stpr/2023" schemaLocation="https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd" />
<import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
<import namespace="http://www.xbrl.org/2009/role/net" schemaLocation="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd" />
<import namespace="http://www.xbrl.org/2009/arcrole/fact-explanatoryFact" schemaLocation="http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd" />
<import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd" />
<import namespace="http://fasb.org/us-types/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd" />
<import namespace="http://fasb.org/srt-types/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd" />
<import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd" />
<import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd" />
<import namespace="http://xbrl.sec.gov/ecd-sub/2023" schemaLocation="https://xbrl.sec.gov/ecd/2023/ecd-sub-2023.xsd" />
<import namespace="http://xbrl.sec.gov/ecd/2023" schemaLocation="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd" />
<import namespace="http://www.xbrl.org/2006/ref" schemaLocation="http://www.xbrl.org/2006/ref-2006-02-27.xsd" />
<import namespace="http://fasb.org/srt-roles/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd" />
<element name="AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="CapitalExpendituresInAccountsPayable" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_CapitalExpendituresInAccountsPayable" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="PaymentsForProceedsFromFinancingCosts" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_PaymentsForProceedsFromFinancingCosts" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="NewAccountingStandardsNotYetAdoptedAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_NewAccountingStandardsNotYetAdoptedAbstract" substitutionGroup="xbrli:item" />
<element name="DescriptionOfNewAccountingStandardsNotYetAdoptedTextBlock" type="dtr-types:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_DescriptionOfNewAccountingStandardsNotYetAdoptedTextBlock" substitutionGroup="xbrli:item" />
<element name="PrepaidAndOtherCurrentAssetsDisclosureTextBlock" type="dtr-types:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_PrepaidAndOtherCurrentAssetsDisclosureTextBlock" substitutionGroup="xbrli:item" />
<element name="SeasonalityDisclosureTextBlock" type="dtr-types:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_SeasonalityDisclosureTextBlock" substitutionGroup="xbrli:item" />
<element name="PrepaidExpenseAndOtherAssetsCurrentTableTextBlock" type="dtr-types:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_PrepaidExpenseAndOtherAssetsCurrentTableTextBlock" substitutionGroup="xbrli:item" />
<element name="ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock" type="dtr-types:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock" substitutionGroup="xbrli:item" />
<element name="SupplementalFinancialInformationOfOperatingLeasesTableTextBlock" type="dtr-types:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_SupplementalFinancialInformationOfOperatingLeasesTableTextBlock" substitutionGroup="xbrli:item" />
<element name="AccruedManufacturingExpensesCurrent" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_AccruedManufacturingExpensesCurrent" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="AgreementAxis" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_AgreementAxis" substitutionGroup="xbrldt:dimensionItem" />
<element name="AgreementDomain" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_AgreementDomain" substitutionGroup="xbrli:item" />
<element name="FifthAmendmentAndRestatedAgreementMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_FifthAmendmentAndRestatedAgreementMember" substitutionGroup="xbrli:item" />
<element name="RevolvingBLoanMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_RevolvingBLoanMember" substitutionGroup="xbrli:item" />
<element name="CreditFacilityOneAxis" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_CreditFacilityOneAxis" substitutionGroup="xbrldt:dimensionItem" />
<element name="CreditFacilityOneDomain" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_CreditFacilityOneDomain" substitutionGroup="xbrli:item" />
<element name="SwinglineLetterOfCreditMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_SwinglineLetterOfCreditMember" substitutionGroup="xbrli:item" />
<element name="LineOfCreditFacilityAdditionalBorrowingCapacity" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_LineOfCreditFacilityAdditionalBorrowingCapacity" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="SupplementalBalanceSheetInformationAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_SupplementalBalanceSheetInformationAbstract" substitutionGroup="xbrli:item" />
<element name="TwoThousandEighteenStockRepurchaseProgramMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_TwoThousandEighteenStockRepurchaseProgramMember" substitutionGroup="xbrli:item" />
<element name="TwoThousandTwentyThreeStockRepurchaseProgramMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_TwoThousandTwentyThreeStockRepurchaseProgramMember" substitutionGroup="xbrli:item" />
<element name="ComponentsOfBasicAndDilutedEarningPerShareTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ComponentsOfBasicAndDilutedEarningPerShareTable" substitutionGroup="xbrldt:hypercubeItem" />
<element name="StockAppreciationRightsMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_StockAppreciationRightsMember" substitutionGroup="xbrli:item" />
<element name="ComponentsOfBasicAndDilutedEarningPerShareLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems" substitutionGroup="xbrli:item" />
<element name="PerformanceBasedRestrictedStockAdjustmentMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_PerformanceBasedRestrictedStockAdjustmentMember" substitutionGroup="xbrli:item" />
<element name="PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember" substitutionGroup="xbrli:item" />
<element name="TwoThousandFourteenStockIncentivePlanMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_TwoThousandFourteenStockIncentivePlanMember" substitutionGroup="xbrli:item" />
<element name="EmployeeStockPurchasePlanMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_EmployeeStockPurchasePlanMember" substitutionGroup="xbrli:item" />
<element name="PerformanceBasedRestrictedStockAndrestrictedStockunitsMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_PerformanceBasedRestrictedStockAndrestrictedStockunitsMember" substitutionGroup="xbrli:item" />
<element name="TimeBasedRestrictedStockandRestrictedstockUnitsMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_TimeBasedRestrictedStockandRestrictedstockUnitsMember" substitutionGroup="xbrli:item" />
<element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyTable" substitutionGroup="xbrldt:hypercubeItem" />
<element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems" substitutionGroup="xbrli:item" />
<element name="PerformanceBasedRestrictedStockUnitsMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_PerformanceBasedRestrictedStockUnitsMember" substitutionGroup="xbrli:item" />
<element name="TimeBasedRestrictedStockUnitsMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_TimeBasedRestrictedStockUnitsMember" substitutionGroup="xbrli:item" />
<element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice" type="dtr-types:perShareItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice" substitutionGroup="xbrli:item" />
<element name="ExcessTaxBenefitsFromStockBasedAwards" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_ExcessTaxBenefitsFromStockBasedAwards" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="ScheduleOfCommitmentsAndContingenciesTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ScheduleOfCommitmentsAndContingenciesTable" substitutionGroup="xbrldt:hypercubeItem" />
<element name="CommercialUseMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_CommercialUseMember" substitutionGroup="xbrli:item" />
<element name="ResidentialAndCommercialUseMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ResidentialAndCommercialUseMember" substitutionGroup="xbrli:item" />
<element name="ResidentialUseMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ResidentialUseMember" substitutionGroup="xbrli:item" />
<element name="EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember" substitutionGroup="xbrli:item" />
<element name="SelectDeckingAndUniversalFasciaMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_SelectDeckingAndUniversalFasciaMember" substitutionGroup="xbrli:item" />
<element name="SignatureRailingAndTranscendCladdingMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_SignatureRailingAndTranscendCladdingMember" substitutionGroup="xbrli:item" />
<element name="SignatureRailingMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_SignatureRailingMember" substitutionGroup="xbrli:item" />
<element name="TranscendDeckingMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_TranscendDeckingMember" substitutionGroup="xbrli:item" />
<element name="ScheduleOfCommitmentsAndContingenciesLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ScheduleOfCommitmentsAndContingenciesLineItems" substitutionGroup="xbrli:item" />
<element name="PercentSensitivityChangeInExpectedSurfaceFlakingClaims" type="dtr-types:percentItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_PercentSensitivityChangeInExpectedSurfaceFlakingClaims" substitutionGroup="xbrli:item" />
<element name="SensitivityChangeInSurfaceFlakingWarrantyReserve" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_SensitivityChangeInSurfaceFlakingWarrantyReserve" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="WarrantyPeriod" type="xbrli:durationItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_WarrantyPeriod" substitutionGroup="xbrli:item" />
<element name="ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember" substitutionGroup="xbrli:item" />
<element name="ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember" substitutionGroup="xbrli:item" />
<element name="SurfaceFlakingWarrantyReserveMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_SurfaceFlakingWarrantyReserveMember" substitutionGroup="xbrli:item" />
<element name="ProductWarrantyMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ProductWarrantyMember" substitutionGroup="xbrli:item" />
<element name="SurfaceFlakingMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_SurfaceFlakingMember" substitutionGroup="xbrli:item" />
<element name="InsiderTradingArrangementsAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_InsiderTradingArrangementsAbstract" substitutionGroup="xbrli:item" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>6
<FILENAME>trex-20240331_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by DFIN XBRL Instance Document - http://www.dfinsolutions.com/ - Version R3.0 - on 08-May-2024 [09:46:53] {PM}-->
<linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#CondensedConsolidatedStatementsOfComprehensiveIncome" roleURI="http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#CondensedConsolidatedBalanceSheets" roleURI="http://www.trex.com/role/CondensedConsolidatedBalanceSheets" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#CondensedConsolidatedStatementsOfCashFlows" roleURI="http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#InventoriesSummaryOfInventoriesDetail" roleURI="http://www.trex.com/role/InventoriesSummaryOfInventoriesDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#PrepaidExpensesAndOtherAssetsSummaryOfPrepaidExpensesAndOtherAssetsDetail" roleURI="http://www.trex.com/role/PrepaidExpensesAndOtherAssetsSummaryOfPrepaidExpensesAndOtherAssetsDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail" roleURI="http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#LeasesSupplementalCashFlowInformationToOperatingLeasesDetail" roleURI="http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail" roleURI="http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail" />
<calculationLink xlink:type="extended" xlink:role="http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail">
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" xlink:label="loc_TREX_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedMarketingCostsCurrent" xlink:label="loc_us-gaap_AccruedMarketingCostsCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_TREX_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" xlink:to="loc_us-gaap_AccruedMarketingCostsCurrent" use="optional" order="1" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_TREX_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" use="optional" order="2" weight="1" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_AccruedManufacturingExpensesCurrent" xlink:label="loc_TREX_AccruedManufacturingExpensesCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_TREX_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" xlink:to="loc_TREX_AccruedManufacturingExpensesCurrent" use="optional" order="3" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_TREX_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent" use="optional" order="4" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_TREX_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent" use="optional" order="5" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_TREX_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" xlink:to="loc_us-gaap_AccruedIncomeTaxesCurrent" use="optional" order="6" weight="1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.trex.com/role/CondensedConsolidatedBalanceSheets">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet" use="optional" order="1" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetIncludingGoodwill" xlink:label="loc_us-gaap_IntangibleAssetsNetIncludingGoodwill" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="loc_us-gaap_IntangibleAssetsNetIncludingGoodwill" use="optional" order="2" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaap_OtherAssetsNoncurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="loc_us-gaap_OtherAssetsNoncurrent" use="optional" order="3" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset" use="optional" order="4" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaap_AssetsCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="loc_us-gaap_AssetsCurrent" use="optional" order="5" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" use="optional" order="6" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent" use="optional" order="7" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="loc_us-gaap_InventoryNet" use="optional" order="8" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" use="optional" order="9" weight="1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.trex.com/role/CondensedConsolidatedBalanceSheets">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaap_Liabilities" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaap_Liabilities" use="optional" order="10" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet" use="optional" order="11" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardProductWarrantyAccrualNoncurrent" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualNoncurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualNoncurrent" use="optional" order="12" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent" use="optional" order="13" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" use="optional" order="14" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaap_LiabilitiesCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities" xlink:to="loc_us-gaap_LiabilitiesCurrent" use="optional" order="15" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaap_AccountsPayableCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="loc_us-gaap_AccountsPayableCurrent" use="optional" order="16" weight="1" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" xlink:label="loc_TREX_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="loc_TREX_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" use="optional" order="17" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardProductWarrantyAccrualCurrent" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualCurrent" use="optional" order="18" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaap_LinesOfCreditCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="loc_us-gaap_LinesOfCreditCurrent" use="optional" order="19" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaap_StockholdersEquity" use="optional" order="20" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="loc_us-gaap_PreferredStockValue" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="loc_us-gaap_PreferredStockValue" use="optional" order="21" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaap_CommonStockValue" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="loc_us-gaap_CommonStockValue" use="optional" order="22" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock" use="optional" order="23" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit" use="optional" order="24" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue" xlink:label="loc_us-gaap_TreasuryStockValue" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="loc_us-gaap_TreasuryStockValue" use="optional" order="25" weight="-1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" use="optional" order="1" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="loc_us-gaap_ProceedsFromLinesOfCredit" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaap_ProceedsFromLinesOfCredit" use="optional" order="2" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="loc_us-gaap_RepaymentsOfLinesOfCredit" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaap_RepaymentsOfLinesOfCredit" use="optional" order="3" weight="-1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock" use="optional" order="4" weight="-1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" use="optional" order="5" weight="1" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_PaymentsForProceedsFromFinancingCosts" xlink:label="loc_TREX_PaymentsForProceedsFromFinancingCosts" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="loc_TREX_PaymentsForProceedsFromFinancingCosts" use="optional" order="6" weight="-1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" use="optional" order="7" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" use="optional" order="8" weight="-1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" use="optional" order="9" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" use="optional" order="10" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization" use="optional" order="11" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" use="optional" order="12" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaap_ShareBasedCompensation" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_ShareBasedCompensation" use="optional" order="13" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" use="optional" order="14" weight="-1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="loc_us-gaap_OtherNoncashIncomeExpense" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_OtherNoncashIncomeExpense" use="optional" order="15" weight="-1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" use="optional" order="16" weight="-1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories" use="optional" order="17" weight="-1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" use="optional" order="18" weight="-1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable" use="optional" order="19" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" use="optional" order="20" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" xlink:label="loc_us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" use="optional" order="21" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaap_ProfitLoss" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_ProfitLoss" use="optional" order="22" weight="1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="loc_us-gaap_NetIncomeLoss" use="optional" order="1" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" use="optional" order="2" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaap_OperatingIncomeLoss" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaap_OperatingIncomeLoss" use="optional" order="3" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaap_GrossProfit" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss" xlink:to="loc_us-gaap_GrossProfit" use="optional" order="4" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" use="optional" order="5" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold" use="optional" order="6" weight="-1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense" use="optional" order="7" weight="-1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNet" xlink:label="loc_us-gaap_InterestIncomeExpenseNet" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaap_InterestIncomeExpenseNet" use="optional" order="8" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit" use="optional" order="9" weight="-1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.trex.com/role/InventoriesSummaryOfInventoriesDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LIFOInventoryAmount" xlink:label="loc_us-gaap_LIFOInventoryAmount" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryGross" xlink:label="loc_us-gaap_InventoryGross" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LIFOInventoryAmount" xlink:to="loc_us-gaap_InventoryGross" use="optional" order="1" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaap_InventoryFinishedGoods" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryGross" xlink:to="loc_us-gaap_InventoryFinishedGoods" use="optional" order="2" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterials" xlink:label="loc_us-gaap_InventoryRawMaterials" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryGross" xlink:to="loc_us-gaap_InventoryRawMaterials" use="optional" order="3" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryLIFOReserve" xlink:label="loc_us-gaap_InventoryLIFOReserve" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LIFOInventoryAmount" xlink:to="loc_us-gaap_InventoryLIFOReserve" use="optional" order="4" weight="-1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.trex.com/role/PrepaidExpensesAndOtherAssetsSummaryOfPrepaidExpensesAndOtherAssetsDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="loc_us-gaap_PrepaidExpenseCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="loc_us-gaap_PrepaidExpenseCurrent" use="optional" order="1" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="loc_us-gaap_IncomeTaxesReceivable" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="loc_us-gaap_IncomeTaxesReceivable" use="optional" order="2" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent" xlink:label="loc_us-gaap_OtherAssetsCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="loc_us-gaap_OtherAssetsCurrent" use="optional" order="3" weight="1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaap_OperatingLeaseLiability" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities" xlink:label="loc_TREX_LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeaseLiability" xlink:to="loc_TREX_LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities" use="optional" order="1" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeaseLiability" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" use="optional" order="2" weight="1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" use="optional" order="1" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" use="optional" order="2" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" use="optional" order="3" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" use="optional" order="4" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" use="optional" order="5" weight="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" use="optional" order="6" weight="1" />
</calculationLink>
</linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>7
<FILENAME>trex-20240331_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by DFIN XBRL Instance Document - http://www.dfinsolutions.com/ - Version R3.0 - on 08-May-2024 [09:46:53] {PM}-->
<linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:xbrldt="http://xbrl.org/2005/xbrldt">
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#CondensedConsolidatedStatementsOfChangesInStockholdersEquity" roleURI="http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#StockBasedCompensationTables" roleURI="http://www.trex.com/role/StockBasedCompensationTables" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail" roleURI="http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#DebtAdditionalInformationDetail" roleURI="http://www.trex.com/role/DebtAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#LeasesAdditionalInformationDetail" roleURI="http://www.trex.com/role/LeasesAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#LeasesSupplementalCashFlowInformationToOperatingLeasesDetail" roleURI="http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail" roleURI="http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#StockholdersEquityAdditionalInformationDetail" roleURI="http://www.trex.com/role/StockholdersEquityAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail" roleURI="http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#StockholdersEquityAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareDetail" roleURI="http://www.trex.com/role/StockholdersEquityAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#StockBasedCompensationAdditionalInformationDetail" roleURI="http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#StockBasedCompensationSummaryOfStockBasedCompensationExpensesDetail" roleURI="http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationExpensesDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail" roleURI="http://www.trex.com/role/StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#StockBasedCompensationSummaryOfStockBasedCompensationGrantsDetail" roleURI="http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationGrantsDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#IncomeTaxesAdditionalInformationDetail" roleURI="http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#CommitmentsAndContingenciesAdditionalInformationDetail" roleURI="http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail" roleURI="http://www.trex.com/role/CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail" />
<roleRef xlink:type="simple" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd#eedm" roleURI="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" />
<arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" />
<arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" />
<arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" />
<arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" />
<arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" />
<arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/notAll" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#notAll" />
<definitionLink xlink:type="extended" xlink:role="http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_84" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_85" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_84" xlink:to="loc_us-gaap_StatementTable_85" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_83" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_85" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_83" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_82" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_83" xlink:to="loc_us-gaap_EquityComponentDomain_82" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_82_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_83" xlink:to="loc_us-gaap_EquityComponentDomain_82_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_86" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_82" xlink:to="loc_us-gaap_CommonStockMember_86" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_87" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_82" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_87" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaap_RetainedEarningsMember_88" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_82" xlink:to="loc_us-gaap_RetainedEarningsMember_88" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="loc_us-gaap_TreasuryStockCommonMember_89" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_82" xlink:to="loc_us-gaap_TreasuryStockCommonMember_89" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_92" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_84" xlink:to="loc_us-gaap_NetIncomeLoss_92" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_95" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_84" xlink:to="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_95" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_90" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_84" xlink:to="loc_us-gaap_StockholdersEquity_90" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesIssued" xlink:label="loc_us-gaap_SharesIssued_91" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_84" xlink:to="loc_us-gaap_SharesIssued_91" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_93" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_84" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_93" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_94" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_84" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_94" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_96" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_84" xlink:to="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_96" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross_97" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_84" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross_97" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross_98" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_84" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross_98" use="optional" order="17" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.trex.com/role/StockBasedCompensationTables">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_839" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_840" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_839" xlink:to="loc_us-gaap_StatementTable_840" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_837" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_840" xlink:to="loc_us-gaap_AwardTypeAxis_837" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_838" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_837" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_838" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_838_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_837" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_838_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock_843" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_839" xlink:to="loc_us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock_843" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_845" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_839" xlink:to="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_845" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock_378535" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_839" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock_378535" use="optional" order="7" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillLineItems" xlink:label="loc_us-gaap_GoodwillLineItems_280" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_283" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_GoodwillLineItems_280" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_283" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_281" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_283" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_281" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_282" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_281" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_282" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_282_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_281" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_282_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_278" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_283" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_278" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_279" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_278" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_279" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_279_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_278" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_279_default" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InternetDomainNamesMember" xlink:label="loc_us-gaap_InternetDomainNamesMember_286" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_279" xlink:to="loc_us-gaap_InternetDomainNamesMember_286" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancingReceivablePortfolioSegmentAxis" xlink:label="loc_us-gaap_FinancingReceivablePortfolioSegmentAxis_276" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_283" xlink:to="loc_us-gaap_FinancingReceivablePortfolioSegmentAxis_276" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancingReceivablePortfolioSegmentDomain" xlink:label="loc_us-gaap_FinancingReceivablePortfolioSegmentDomain_277" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancingReceivablePortfolioSegmentAxis_276" xlink:to="loc_us-gaap_FinancingReceivablePortfolioSegmentDomain_277" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancingReceivablePortfolioSegmentDomain" xlink:label="loc_us-gaap_FinancingReceivablePortfolioSegmentDomain_277_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancingReceivablePortfolioSegmentAxis_276" xlink:to="loc_us-gaap_FinancingReceivablePortfolioSegmentDomain_277_default" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResidentialPortfolioSegmentMember" xlink:label="loc_us-gaap_ResidentialPortfolioSegmentMember_285" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivablePortfolioSegmentDomain_277" xlink:to="loc_us-gaap_ResidentialPortfolioSegmentMember_285" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReportingUnitAxis" xlink:label="loc_us-gaap_ReportingUnitAxis_1292367" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_283" xlink:to="loc_us-gaap_ReportingUnitAxis_1292367" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReportingUnitDomain" xlink:label="loc_us-gaap_ReportingUnitDomain_1292368" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ReportingUnitAxis_1292367" xlink:to="loc_us-gaap_ReportingUnitDomain_1292368" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReportingUnitDomain" xlink:label="loc_us-gaap_ReportingUnitDomain_1292368_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ReportingUnitAxis_1292367" xlink:to="loc_us-gaap_ReportingUnitDomain_1292368_default" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_287" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_280" xlink:to="loc_us-gaap_Goodwill_287" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_2147473650" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_280" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_2147473650" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_290" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_280" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_290" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:label="loc_us-gaap_IntangibleAssetsGrossExcludingGoodwill_561618" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_280" xlink:to="loc_us-gaap_IntangibleAssetsGrossExcludingGoodwill_561618" use="optional" order="19" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_561623" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_280" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_561623" use="optional" order="20" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.trex.com/role/DebtAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="loc_us-gaap_LineOfCreditFacilityLineItems_348" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="loc_us-gaap_LineOfCreditFacilityTable_349" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_348" xlink:to="loc_us-gaap_LineOfCreditFacilityTable_349" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="loc_us-gaap_CreditFacilityAxis_344" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_349" xlink:to="loc_us-gaap_CreditFacilityAxis_344" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaap_CreditFacilityDomain_345" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CreditFacilityAxis_344" xlink:to="loc_us-gaap_CreditFacilityDomain_345" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaap_CreditFacilityDomain_345_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CreditFacilityAxis_344" xlink:to="loc_us-gaap_CreditFacilityDomain_345_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_356" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_345" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_356" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_RevolvingBLoanMember" xlink:label="loc_trex_RevolvingBLoanMember_2147473934" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_345" xlink:to="loc_trex_RevolvingBLoanMember_2147473934" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaap_DebtInstrumentAxis_346" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_349" xlink:to="loc_us-gaap_DebtInstrumentAxis_346" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_347" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_346" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_347" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_347_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_346" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_347_default" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="loc_us-gaap_VariableRateAxis_352" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_349" xlink:to="loc_us-gaap_VariableRateAxis_352" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="loc_us-gaap_VariableRateDomain_353" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_VariableRateAxis_352" xlink:to="loc_us-gaap_VariableRateDomain_353" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="loc_us-gaap_VariableRateDomain_353_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_VariableRateAxis_352" xlink:to="loc_us-gaap_VariableRateDomain_353_default" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BaseRateMember" xlink:label="loc_us-gaap_BaseRateMember_2147473929" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_353" xlink:to="loc_us-gaap_BaseRateMember_2147473929" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:label="loc_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_2147473930" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_353" xlink:to="loc_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_2147473930" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="loc_us-gaap_LineOfCreditFacilityAxis_802771" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_349" xlink:to="loc_us-gaap_LineOfCreditFacilityAxis_802771" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="loc_us-gaap_LineOfCreditFacilityLenderDomain_802772" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LineOfCreditFacilityAxis_802771" xlink:to="loc_us-gaap_LineOfCreditFacilityLenderDomain_802772" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="loc_us-gaap_LineOfCreditFacilityLenderDomain_802772_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LineOfCreditFacilityAxis_802771" xlink:to="loc_us-gaap_LineOfCreditFacilityLenderDomain_802772_default" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_AgreementAxis" xlink:label="loc_trex_AgreementAxis_2147473845" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_349" xlink:to="loc_trex_AgreementAxis_2147473845" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_AgreementDomain" xlink:label="loc_trex_AgreementDomain_2147473847" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_trex_AgreementAxis_2147473845" xlink:to="loc_trex_AgreementDomain_2147473847" use="optional" order="19" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_AgreementDomain" xlink:label="loc_trex_AgreementDomain_2147473847_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_trex_AgreementAxis_2147473845" xlink:to="loc_trex_AgreementDomain_2147473847_default" use="optional" order="20" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_FifthAmendmentAndRestatedAgreementMember" xlink:label="loc_trex_FifthAmendmentAndRestatedAgreementMember_2147473852" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_trex_AgreementDomain_2147473847" xlink:to="loc_trex_FifthAmendmentAndRestatedAgreementMember_2147473852" use="optional" order="21" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_CreditFacilityOneAxis" xlink:label="loc_trex_CreditFacilityOneAxis_2147473870" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_349" xlink:to="loc_trex_CreditFacilityOneAxis_2147473870" use="optional" order="22" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_CreditFacilityOneDomain" xlink:label="loc_trex_CreditFacilityOneDomain_2147473873" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_trex_CreditFacilityOneAxis_2147473870" xlink:to="loc_trex_CreditFacilityOneDomain_2147473873" use="optional" order="23" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_CreditFacilityOneDomain" xlink:label="loc_trex_CreditFacilityOneDomain_2147473873_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_trex_CreditFacilityOneAxis_2147473870" xlink:to="loc_trex_CreditFacilityOneDomain_2147473873_default" use="optional" order="24" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LetterOfCreditMember" xlink:label="loc_us-gaap_LetterOfCreditMember_2147473890" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_trex_CreditFacilityOneDomain_2147473873" xlink:to="loc_us-gaap_LetterOfCreditMember_2147473890" use="optional" order="25" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SwinglineLetterOfCreditMember" xlink:label="loc_trex_SwinglineLetterOfCreditMember_2147473880" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_trex_CreditFacilityOneDomain_2147473873" xlink:to="loc_trex_SwinglineLetterOfCreditMember_2147473880" use="optional" order="26" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_2147473967" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_349" xlink:to="loc_srt_RangeAxis_2147473967" use="optional" order="27" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_2147473968" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_2147473967" xlink:to="loc_srt_RangeMember_2147473968" use="optional" order="28" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_2147473968_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_2147473967" xlink:to="loc_srt_RangeMember_2147473968_default" use="optional" order="29" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="loc_srt_MaximumMember_2147473969" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_2147473968" xlink:to="loc_srt_MaximumMember_2147473969" use="optional" order="30" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="loc_srt_MinimumMember_2147473970" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_2147473968" xlink:to="loc_srt_MinimumMember_2147473970" use="optional" order="31" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_362" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_348" xlink:to="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_362" use="optional" order="32" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_363" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_348" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_363" use="optional" order="33" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityExpirationDate1" xlink:label="loc_us-gaap_LineOfCreditFacilityExpirationDate1_364" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_348" xlink:to="loc_us-gaap_LineOfCreditFacilityExpirationDate1_364" use="optional" order="34" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_365" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_348" xlink:to="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_365" use="optional" order="35" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaap_LinesOfCreditCurrent_378350" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_348" xlink:to="loc_us-gaap_LinesOfCreditCurrent_378350" use="optional" order="36" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_LineOfCreditFacilityAdditionalBorrowingCapacity" xlink:label="loc_trex_LineOfCreditFacilityAdditionalBorrowingCapacity_802770" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_348" xlink:to="loc_trex_LineOfCreditFacilityAdditionalBorrowingCapacity_802770" use="optional" order="37" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentDescriptionOfVariableRateBasis" xlink:label="loc_us-gaap_DebtInstrumentDescriptionOfVariableRateBasis_2147473928" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_348" xlink:to="loc_us-gaap_DebtInstrumentDescriptionOfVariableRateBasis_2147473928" use="optional" order="38" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCredit" xlink:label="loc_us-gaap_LineOfCredit_2147473931" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_348" xlink:to="loc_us-gaap_LineOfCredit_2147473931" use="optional" order="39" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_2147473958" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_348" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_2147473958" use="optional" order="40" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtWeightedAverageInterestRate" xlink:label="loc_us-gaap_DebtWeightedAverageInterestRate_2147473979" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_348" xlink:to="loc_us-gaap_DebtWeightedAverageInterestRate_2147473979" use="optional" order="41" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.trex.com/role/LeasesAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_378483" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_378480" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_378483" xlink:to="loc_us-gaap_StatementTable_378480" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_378484" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_378480" xlink:to="loc_srt_RangeAxis_378484" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_378485" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_378484" xlink:to="loc_srt_RangeMember_378485" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_378485_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_378484" xlink:to="loc_srt_RangeMember_378485_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="loc_srt_MinimumMember_378487" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_378485" xlink:to="loc_srt_MinimumMember_378487" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="loc_srt_MaximumMember_378486" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_378485" xlink:to="loc_srt_MaximumMember_378486" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_378481" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_378480" xlink:to="loc_us-gaap_StatementClassOfStockAxis_378481" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_378482" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_378481" xlink:to="loc_us-gaap_ClassOfStockDomain_378482" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_378482_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_378481" xlink:to="loc_us-gaap_ClassOfStockDomain_378482_default" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_378455" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_378483" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_378455" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseCost" xlink:label="loc_us-gaap_OperatingLeaseCost_378456" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_378483" xlink:to="loc_us-gaap_OperatingLeaseCost_378456" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LessorOperatingLeaseTermOfContract" xlink:label="loc_us-gaap_LessorOperatingLeaseTermOfContract_378457" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_378483" xlink:to="loc_us-gaap_LessorOperatingLeaseTermOfContract_378457" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_378611" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_378483" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_378611" use="optional" order="13" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_378383" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_378380" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_378383" xlink:to="loc_us-gaap_StatementTable_378380" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_563044" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_378380" xlink:to="loc_us-gaap_StatementClassOfStockAxis_563044" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_563045" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_563044" xlink:to="loc_us-gaap_ClassOfStockDomain_563045" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_563045_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_563044" xlink:to="loc_us-gaap_ClassOfStockDomain_563045_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashFlowOperatingActivitiesLesseeAbstract" xlink:label="loc_us-gaap_CashFlowOperatingActivitiesLesseeAbstract_378384" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_378383" xlink:to="loc_us-gaap_CashFlowOperatingActivitiesLesseeAbstract_378384" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="loc_us-gaap_OperatingLeasePayments_378411" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CashFlowOperatingActivitiesLesseeAbstract_378384" xlink:to="loc_us-gaap_OperatingLeasePayments_378411" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_378414" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CashFlowOperatingActivitiesLesseeAbstract_378384" xlink:to="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_378414" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SupplementalBalanceSheetInformationAbstract" xlink:label="loc_trex_SupplementalBalanceSheetInformationAbstract_378420" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_378383" xlink:to="loc_trex_SupplementalBalanceSheetInformationAbstract_378420" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_378416" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_trex_SupplementalBalanceSheetInformationAbstract_378420" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_378416" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:label="loc_us-gaap_AssetsAndLiabilitiesLesseeAbstract_378406" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_378383" xlink:to="loc_us-gaap_AssetsAndLiabilitiesLesseeAbstract_378406" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities" xlink:label="loc_trex_LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities_378422" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAndLiabilitiesLesseeAbstract_378406" xlink:to="loc_trex_LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities_378422" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_378423" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAndLiabilitiesLesseeAbstract_378406" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_378423" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaap_OperatingLeaseLiability_378424" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_378383" xlink:to="loc_us-gaap_OperatingLeaseLiability_378424" use="optional" order="13" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_378439" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_378436" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_378439" xlink:to="loc_us-gaap_StatementTable_378436" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_378437" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_378436" xlink:to="loc_us-gaap_StatementClassOfStockAxis_378437" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_378438" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_378437" xlink:to="loc_us-gaap_ClassOfStockDomain_378438" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_378438_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_378437" xlink:to="loc_us-gaap_ClassOfStockDomain_378438_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_378441" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_378439" xlink:to="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_378441" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_2147473637" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_378441" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_2147473637" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_378442" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_378441" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_378442" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_378443" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_378441" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_378443" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_378444" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_378441" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_378444" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_378446" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_378441" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_378446" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_378448" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_378441" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_378448" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_378449" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_378441" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_378449" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_406020" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_378441" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_406020" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaap_OperatingLeaseLiability_378451" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_378441" xlink:to="loc_us-gaap_OperatingLeaseLiability_378451" use="optional" order="14" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.trex.com/role/StockholdersEquityAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityClassOfTreasuryStockLineItems" xlink:label="loc_us-gaap_EquityClassOfTreasuryStockLineItems_376" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfTreasuryStockTable" xlink:label="loc_us-gaap_ClassOfTreasuryStockTable_375" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_376" xlink:to="loc_us-gaap_ClassOfTreasuryStockTable_375" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis_377" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ClassOfTreasuryStockTable_375" xlink:to="loc_us-gaap_ShareRepurchaseProgramAxis_377" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_378" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_377" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_378" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_378_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_377" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_378_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_TwoThousandEighteenStockRepurchaseProgramMember" xlink:label="loc_trex_TwoThousandEighteenStockRepurchaseProgramMember_2147473658" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_378" xlink:to="loc_trex_TwoThousandEighteenStockRepurchaseProgramMember_2147473658" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_TwoThousandTwentyThreeStockRepurchaseProgramMember" xlink:label="loc_trex_TwoThousandTwentyThreeStockRepurchaseProgramMember_2147473667" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_378" xlink:to="loc_trex_TwoThousandTwentyThreeStockRepurchaseProgramMember_2147473667" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_2147473656" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ClassOfTreasuryStockTable_375" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_2147473656" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_2147473655" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_2147473656" xlink:to="loc_us-gaap_EquityComponentDomain_2147473655" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_2147473655_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_2147473656" xlink:to="loc_us-gaap_EquityComponentDomain_2147473655_default" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:label="loc_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_383" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_376" xlink:to="loc_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_383" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockSharesAcquired" xlink:label="loc_us-gaap_TreasuryStockSharesAcquired_384" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_376" xlink:to="loc_us-gaap_TreasuryStockSharesAcquired_384" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_2147473657" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_376" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_2147473657" use="optional" order="12" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail">
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems" xlink:label="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems_393" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ComponentsOfBasicAndDilutedEarningPerShareTable" xlink:label="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareTable_394" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems_393" xlink:to="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareTable_394" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_392" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareTable_394" xlink:to="loc_us-gaap_AwardTypeAxis_392" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_396" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_392" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_396" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_396_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_392" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_396_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_StockAppreciationRightsMember" xlink:label="loc_trex_StockAppreciationRightsMember_402" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_396" xlink:to="loc_trex_StockAppreciationRightsMember_402" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember" xlink:label="loc_us-gaap_RestrictedStockMember_403" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_396" xlink:to="loc_us-gaap_RestrictedStockMember_403" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAbstract" xlink:label="loc_us-gaap_NetIncomeLossAbstract_395" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems_393" xlink:to="loc_us-gaap_NetIncomeLossAbstract_395" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_401" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetIncomeLossAbstract_395" xlink:to="loc_us-gaap_NetIncomeLoss_401" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_398" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems_393" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_398" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_406" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_398" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_406" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_397" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems_393" xlink:to="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_397" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_404" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_397" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_404" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_405" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_397" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_405" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaap_EarningsPerShareBasic_399" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems_393" xlink:to="loc_us-gaap_EarningsPerShareBasic_399" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted_400" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems_393" xlink:to="loc_us-gaap_EarningsPerShareDiluted_400" use="optional" order="15" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.trex.com/role/StockholdersEquityAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_410" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_412" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_410" xlink:to="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_412" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_409" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_412" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_409" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_411" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_409" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_411" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_411_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_409" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_411_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember" xlink:label="loc_us-gaap_RestrictedStockMember_560984" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_411" xlink:to="loc_us-gaap_RestrictedStockMember_560984" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockAppreciationRightsSARSMember" xlink:label="loc_us-gaap_StockAppreciationRightsSARSMember_415" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_411" xlink:to="loc_us-gaap_StockAppreciationRightsSARSMember_415" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_413" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_410" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_413" use="optional" order="7" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_441" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_440" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_441" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_440" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_561151" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_440" xlink:to="loc_srt_RangeAxis_561151" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_561152" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_561151" xlink:to="loc_srt_RangeMember_561152" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_561152_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_561151" xlink:to="loc_srt_RangeMember_561152_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_435" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_440" xlink:to="loc_us-gaap_AwardTypeAxis_435" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_442" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_435" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_442" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_442_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_435" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_442_default" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember" xlink:label="loc_trex_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember_462" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_442" xlink:to="loc_trex_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember_462" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockAppreciationRightsSARSMember" xlink:label="loc_us-gaap_StockAppreciationRightsSARSMember_463" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_442" xlink:to="loc_us-gaap_StockAppreciationRightsSARSMember_463" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_PerformanceBasedRestrictedStockAdjustmentMember" xlink:label="loc_trex_PerformanceBasedRestrictedStockAdjustmentMember_2147473638" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_442" xlink:to="loc_trex_PerformanceBasedRestrictedStockAdjustmentMember_2147473638" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis" xlink:label="loc_us-gaap_VestingAxis_443" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_440" xlink:to="loc_us-gaap_VestingAxis_443" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="loc_us-gaap_VestingDomain_444" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_VestingAxis_443" xlink:to="loc_us-gaap_VestingDomain_444" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="loc_us-gaap_VestingDomain_444_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_VestingAxis_443" xlink:to="loc_us-gaap_VestingDomain_444_default" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaap_PlanNameAxis_436" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_440" xlink:to="loc_us-gaap_PlanNameAxis_436" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaap_PlanNameDomain_437" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_436" xlink:to="loc_us-gaap_PlanNameDomain_437" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaap_PlanNameDomain_437_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_436" xlink:to="loc_us-gaap_PlanNameDomain_437_default" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_TwoThousandFourteenStockIncentivePlanMember" xlink:label="loc_trex_TwoThousandFourteenStockIncentivePlanMember_445" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_437" xlink:to="loc_trex_TwoThousandFourteenStockIncentivePlanMember_445" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_448" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_441" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_448" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_450" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_441" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_450" use="optional" order="19" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsMethodUsed" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsMethodUsed_456" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_441" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsMethodUsed_456" use="optional" order="20" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_457" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_441" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_457" use="optional" order="21" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationExpensesDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_473" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_472" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_473" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_472" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_471" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_472" xlink:to="loc_us-gaap_AwardTypeAxis_471" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_474" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_471" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_474" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_474_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_471" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_474_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockAppreciationRightsSARSMember" xlink:label="loc_us-gaap_StockAppreciationRightsSARSMember_478" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_474" xlink:to="loc_us-gaap_StockAppreciationRightsSARSMember_478" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_TimeBasedRestrictedStockandRestrictedstockUnitsMember" xlink:label="loc_trex_TimeBasedRestrictedStockandRestrictedstockUnitsMember_580537" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_474" xlink:to="loc_trex_TimeBasedRestrictedStockandRestrictedstockUnitsMember_580537" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_PerformanceBasedRestrictedStockAndrestrictedStockunitsMember" xlink:label="loc_trex_PerformanceBasedRestrictedStockAndrestrictedStockunitsMember_580538" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_474" xlink:to="loc_trex_PerformanceBasedRestrictedStockAndrestrictedStockunitsMember_580538" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_EmployeeStockPurchasePlanMember" xlink:label="loc_trex_EmployeeStockPurchasePlanMember_479" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_474" xlink:to="loc_trex_EmployeeStockPurchasePlanMember_479" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_475" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_473" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_475" use="optional" order="9" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.trex.com/role/StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail">
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems" xlink:label="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems_517" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyTable" xlink:label="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyTable_518" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems_517" xlink:to="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyTable_518" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_516" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyTable_518" xlink:to="loc_us-gaap_AwardTypeAxis_516" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_519" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_516" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_519" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_519_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_516" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_519_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockAppreciationRightsSARSMember" xlink:label="loc_us-gaap_StockAppreciationRightsSARSMember_524" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_519" xlink:to="loc_us-gaap_StockAppreciationRightsSARSMember_524" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_378585" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems_517" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_378585" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_520" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems_517" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_520" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_521" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems_517" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_521" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_522" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems_517" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_522" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_523" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems_517" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_523" use="optional" order="10" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationGrantsDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_378555" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_378552" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_378555" xlink:to="loc_us-gaap_StatementTable_378552" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_378563" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_378552" xlink:to="loc_us-gaap_AwardTypeAxis_378563" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_378564" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_378563" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_378564" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_378564_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_378563" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_378564_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_TimeBasedRestrictedStockUnitsMember" xlink:label="loc_trex_TimeBasedRestrictedStockUnitsMember_378565" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_378564" xlink:to="loc_trex_TimeBasedRestrictedStockUnitsMember_378565" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_PerformanceBasedRestrictedStockUnitsMember" xlink:label="loc_trex_PerformanceBasedRestrictedStockUnitsMember_378566" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_378564" xlink:to="loc_trex_PerformanceBasedRestrictedStockUnitsMember_378566" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockAppreciationRightsSARSMember" xlink:label="loc_us-gaap_StockAppreciationRightsSARSMember_378567" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_378564" xlink:to="loc_us-gaap_StockAppreciationRightsSARSMember_378567" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_378553" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_378552" xlink:to="loc_us-gaap_StatementClassOfStockAxis_378553" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_378554" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_378553" xlink:to="loc_us-gaap_ClassOfStockDomain_378554" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_378554_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_378553" xlink:to="loc_us-gaap_ClassOfStockDomain_378554_default" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_378557" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_378555" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_378557" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice" xlink:label="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice_378561" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_378555" xlink:to="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice_378561" use="optional" order="12" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="loc_us-gaap_IncomeTaxContingencyLineItems_621" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="loc_us-gaap_IncomeTaxContingencyTable_622" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_621" xlink:to="loc_us-gaap_IncomeTaxContingencyTable_622" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodAxis" xlink:label="loc_us-gaap_TaxPeriodAxis_378593" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_622" xlink:to="loc_us-gaap_TaxPeriodAxis_378593" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodDomain" xlink:label="loc_us-gaap_TaxPeriodDomain_378594" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_TaxPeriodAxis_378593" xlink:to="loc_us-gaap_TaxPeriodDomain_378594" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodDomain" xlink:label="loc_us-gaap_TaxPeriodDomain_378594_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_TaxPeriodAxis_378593" xlink:to="loc_us-gaap_TaxPeriodDomain_378594_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarliestTaxYearMember" xlink:label="loc_us-gaap_EarliestTaxYearMember_378595" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxPeriodDomain_378594" xlink:to="loc_us-gaap_EarliestTaxYearMember_378595" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LatestTaxYearMember" xlink:label="loc_us-gaap_LatestTaxYearMember_378596" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxPeriodDomain_378594" xlink:to="loc_us-gaap_LatestTaxYearMember_378596" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameAxis_378597" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_622" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameAxis_378597" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain_378598" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis_378597" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameDomain_378598" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain_378598_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis_378597" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameDomain_378598_default" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InternalRevenueServiceIRSMember" xlink:label="loc_us-gaap_InternalRevenueServiceIRSMember_378600" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_378598" xlink:to="loc_us-gaap_InternalRevenueServiceIRSMember_378600" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_626" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_621" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_626" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_627" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_621" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_627" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OpenTaxYear" xlink:label="loc_us-gaap_OpenTaxYear_630" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_621" xlink:to="loc_us-gaap_OpenTaxYear_630" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_378586" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_621" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_378586" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ExcessTaxBenefitsFromStockBasedAwards" xlink:label="loc_trex_ExcessTaxBenefitsFromStockBasedAwards_2147473640" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_621" xlink:to="loc_trex_ExcessTaxBenefitsFromStockBasedAwards_2147473640" use="optional" order="15" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ScheduleOfCommitmentsAndContingenciesLineItems" xlink:label="loc_trex_ScheduleOfCommitmentsAndContingenciesLineItems_687" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ScheduleOfCommitmentsAndContingenciesTable" xlink:label="loc_trex_ScheduleOfCommitmentsAndContingenciesTable_688" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesLineItems_687" xlink:to="loc_trex_ScheduleOfCommitmentsAndContingenciesTable_688" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis_681" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesTable_688" xlink:to="loc_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis_681" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_682" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis_681" xlink:to="loc_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_682" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_682_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis_681" xlink:to="loc_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_682_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srt_ProductOrServiceAxis_561113" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesTable_688" xlink:to="loc_srt_ProductOrServiceAxis_561113" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain_561114" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_561113" xlink:to="loc_srt_ProductsAndServicesDomain_561114" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain_561114_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_561113" xlink:to="loc_srt_ProductsAndServicesDomain_561114_default" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SignatureRailingAndTranscendCladdingMember" xlink:label="loc_trex_SignatureRailingAndTranscendCladdingMember_2147473708" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_561114" xlink:to="loc_trex_SignatureRailingAndTranscendCladdingMember_2147473708" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_TranscendDeckingMember" xlink:label="loc_trex_TranscendDeckingMember_2147473711" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_561114" xlink:to="loc_trex_TranscendDeckingMember_2147473711" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SelectDeckingAndUniversalFasciaMember" xlink:label="loc_trex_SelectDeckingAndUniversalFasciaMember_2147473714" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_561114" xlink:to="loc_trex_SelectDeckingAndUniversalFasciaMember_2147473714" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember" xlink:label="loc_trex_EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember_2147473715" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_561114" xlink:to="loc_trex_EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember_2147473715" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SignatureRailingMember" xlink:label="loc_trex_SignatureRailingMember_2147475507" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_561114" xlink:to="loc_trex_SignatureRailingMember_2147475507" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="loc_us-gaap_GuaranteeObligationsByNatureAxis_679" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesTable_688" xlink:to="loc_us-gaap_GuaranteeObligationsByNatureAxis_679" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="loc_us-gaap_GuaranteeObligationsNatureDomain_680" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_GuaranteeObligationsByNatureAxis_679" xlink:to="loc_us-gaap_GuaranteeObligationsNatureDomain_680" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="loc_us-gaap_GuaranteeObligationsNatureDomain_680_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_GuaranteeObligationsByNatureAxis_679" xlink:to="loc_us-gaap_GuaranteeObligationsNatureDomain_680_default" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ResidentialUseMember" xlink:label="loc_trex_ResidentialUseMember_691" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GuaranteeObligationsNatureDomain_680" xlink:to="loc_trex_ResidentialUseMember_691" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_CommercialUseMember" xlink:label="loc_trex_CommercialUseMember_692" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GuaranteeObligationsNatureDomain_680" xlink:to="loc_trex_CommercialUseMember_692" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ResidentialAndCommercialUseMember" xlink:label="loc_trex_ResidentialAndCommercialUseMember_2147473701" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GuaranteeObligationsNatureDomain_680" xlink:to="loc_trex_ResidentialAndCommercialUseMember_2147473701" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_690" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesTable_688" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_690" use="optional" order="19" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain_689" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_690" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDomain_689" use="optional" order="20" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain_689_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_690" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDomain_689_default" use="optional" order="21" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SurfaceFlakingWarrantyReserveMember" xlink:label="loc_trex_SurfaceFlakingWarrantyReserveMember_706" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_689" xlink:to="loc_trex_SurfaceFlakingWarrantyReserveMember_706" use="optional" order="22" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_685" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesTable_688" xlink:to="loc_srt_RangeAxis_685" use="optional" order="23" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_686" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_685" xlink:to="loc_srt_RangeMember_686" use="optional" order="24" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_686_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_685" xlink:to="loc_srt_RangeMember_686_default" use="optional" order="25" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContingentConsiderationByTypeAxis" xlink:label="loc_us-gaap_ContingentConsiderationByTypeAxis_803848" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesTable_688" xlink:to="loc_us-gaap_ContingentConsiderationByTypeAxis_803848" use="optional" order="26" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="loc_us-gaap_ContingentConsiderationTypeDomain_803849" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ContingentConsiderationByTypeAxis_803848" xlink:to="loc_us-gaap_ContingentConsiderationTypeDomain_803849" use="optional" order="27" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="loc_us-gaap_ContingentConsiderationTypeDomain_803849_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ContingentConsiderationByTypeAxis_803848" xlink:to="loc_us-gaap_ContingentConsiderationTypeDomain_803849_default" use="optional" order="28" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplyCommitmentAxis" xlink:label="loc_us-gaap_SupplyCommitmentAxis_2147475508" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesTable_688" xlink:to="loc_us-gaap_SupplyCommitmentAxis_2147475508" use="optional" order="29" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplyCommitmentArrangementMember" xlink:label="loc_us-gaap_SupplyCommitmentArrangementMember_2147475509" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SupplyCommitmentAxis_2147475508" xlink:to="loc_us-gaap_SupplyCommitmentArrangementMember_2147475509" use="optional" order="30" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplyCommitmentArrangementMember" xlink:label="loc_us-gaap_SupplyCommitmentArrangementMember_2147475509_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SupplyCommitmentAxis_2147475508" xlink:to="loc_us-gaap_SupplyCommitmentArrangementMember_2147475509_default" use="optional" order="31" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember" xlink:label="loc_trex_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember_2147475510" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SupplyCommitmentArrangementMember_2147475509" xlink:to="loc_trex_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember_2147475510" use="optional" order="32" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember" xlink:label="loc_trex_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember_2147475511" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SupplyCommitmentArrangementMember_2147475509" xlink:to="loc_trex_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember_2147475511" use="optional" order="33" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancingReceivablePortfolioSegmentAxis" xlink:label="loc_us-gaap_FinancingReceivablePortfolioSegmentAxis_1291423" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesTable_688" xlink:to="loc_us-gaap_FinancingReceivablePortfolioSegmentAxis_1291423" use="optional" order="34" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancingReceivablePortfolioSegmentDomain" xlink:label="loc_us-gaap_FinancingReceivablePortfolioSegmentDomain_1291424" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancingReceivablePortfolioSegmentAxis_1291423" xlink:to="loc_us-gaap_FinancingReceivablePortfolioSegmentDomain_1291424" use="optional" order="35" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancingReceivablePortfolioSegmentDomain" xlink:label="loc_us-gaap_FinancingReceivablePortfolioSegmentDomain_1291424_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancingReceivablePortfolioSegmentAxis_1291423" xlink:to="loc_us-gaap_FinancingReceivablePortfolioSegmentDomain_1291424_default" use="optional" order="36" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_WarrantyPeriod" xlink:label="loc_trex_WarrantyPeriod_703" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesLineItems_687" xlink:to="loc_trex_WarrantyPeriod_703" use="optional" order="37" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_PercentSensitivityChangeInExpectedSurfaceFlakingClaims" xlink:label="loc_trex_PercentSensitivityChangeInExpectedSurfaceFlakingClaims_704" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesLineItems_687" xlink:to="loc_trex_PercentSensitivityChangeInExpectedSurfaceFlakingClaims_704" use="optional" order="38" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SensitivityChangeInSurfaceFlakingWarrantyReserve" xlink:label="loc_trex_SensitivityChangeInSurfaceFlakingWarrantyReserve_705" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesLineItems_687" xlink:to="loc_trex_SensitivityChangeInSurfaceFlakingWarrantyReserve_705" use="optional" order="39" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AreaOfLand" xlink:label="loc_us-gaap_AreaOfLand_1291393" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesLineItems_687" xlink:to="loc_us-gaap_AreaOfLand_1291393" use="optional" order="40" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.trex.com/role/CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyLiabilityLineItems" xlink:label="loc_us-gaap_ProductWarrantyLiabilityLineItems_711" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyLiabilityTable" xlink:label="loc_us-gaap_ProductWarrantyLiabilityTable_712" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ProductWarrantyLiabilityLineItems_711" xlink:to="loc_us-gaap_ProductWarrantyLiabilityTable_712" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContingentConsiderationByTypeAxis" xlink:label="loc_us-gaap_ContingentConsiderationByTypeAxis_709" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ProductWarrantyLiabilityTable_712" xlink:to="loc_us-gaap_ContingentConsiderationByTypeAxis_709" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="loc_us-gaap_ContingentConsiderationTypeDomain_710" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ContingentConsiderationByTypeAxis_709" xlink:to="loc_us-gaap_ContingentConsiderationTypeDomain_710" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="loc_us-gaap_ContingentConsiderationTypeDomain_710_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ContingentConsiderationByTypeAxis_709" xlink:to="loc_us-gaap_ContingentConsiderationTypeDomain_710_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ProductWarrantyMember" xlink:label="loc_trex_ProductWarrantyMember_2147473641" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ContingentConsiderationTypeDomain_710" xlink:to="loc_trex_ProductWarrantyMember_2147473641" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SurfaceFlakingMember" xlink:label="loc_trex_SurfaceFlakingMember_715" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ContingentConsiderationTypeDomain_710" xlink:to="loc_trex_SurfaceFlakingMember_715" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_714" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ProductWarrantyLiabilityTable_712" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_714" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain_713" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_714" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDomain_713" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain_713_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_714" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDomain_713_default" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SurfaceFlakingWarrantyReserveMember" xlink:label="loc_trex_SurfaceFlakingWarrantyReserveMember_721" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_713" xlink:to="loc_trex_SurfaceFlakingWarrantyReserveMember_721" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardProductWarrantyAccrual" xlink:label="loc_us-gaap_StandardProductWarrantyAccrual_717" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductWarrantyLiabilityLineItems_711" xlink:to="loc_us-gaap_StandardProductWarrantyAccrual_717" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_718" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductWarrantyLiabilityLineItems_711" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_718" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardProductWarrantyAccrualPayments" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPayments_719" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductWarrantyLiabilityLineItems_711" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualPayments_719" use="optional" order="13" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" xlink:label="loc_TREX_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:to="loc_TREX_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" order="1.0" />
</definitionLink>
</linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>8
<FILENAME>trex-20240331_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by DFIN XBRL Instance Document - http://www.dfinsolutions.com/ - Version R3.0 - on 08-May-2024 [09:46:53] {PM}-->
<linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" />
<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" />
<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" />
<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" />
<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" />
<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" />
<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel" />
<labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="loc_dei_CoverAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_CoverAbstract" xml:lang="en-US">Cover [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CoverAbstract" xlink:to="lab_dei_CoverAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="loc_dei_AmendmentFlag" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_AmendmentFlag" xml:lang="en-US">Amendment Flag</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag" xlink:to="lab_dei_AmendmentFlag" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="loc_dei_CityAreaCode" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_CityAreaCode" xml:lang="en-US">City Area Code</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CityAreaCode" xlink:to="lab_dei_CityAreaCode" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_dei_CurrentFiscalYearEndDate" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_CurrentFiscalYearEndDate" xml:lang="en-US">Current Fiscal Year End Date</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CurrentFiscalYearEndDate" xlink:to="lab_dei_CurrentFiscalYearEndDate" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_dei_DocumentFiscalPeriodFocus" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xml:lang="en-US">Document Fiscal Period Focus</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalPeriodFocus" xlink:to="lab_dei_DocumentFiscalPeriodFocus" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_dei_DocumentFiscalYearFocus" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_DocumentFiscalYearFocus" xml:lang="en-US">Document Fiscal Year Focus</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalYearFocus" xlink:to="lab_dei_DocumentFiscalYearFocus" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_dei_DocumentPeriodEndDate" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_DocumentPeriodEndDate" xml:lang="en-US">Document Period End Date</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate" xlink:to="lab_dei_DocumentPeriodEndDate" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_dei_DocumentQuarterlyReport" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_DocumentQuarterlyReport" xml:lang="en-US">Document Quarterly Report</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentQuarterlyReport" xlink:to="lab_dei_DocumentQuarterlyReport" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="loc_dei_DocumentTransitionReport" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_DocumentTransitionReport" xml:lang="en-US">Document Transition Report</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentTransitionReport" xlink:to="lab_dei_DocumentTransitionReport" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="loc_dei_DocumentType" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_DocumentType" xml:lang="en-US">Document Type</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentType" xlink:to="lab_dei_DocumentType" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_dei_EntityAddressAddressLine1" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityAddressAddressLine1" xml:lang="en-US">Entity Address, Address Line One</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine1" xlink:to="lab_dei_EntityAddressAddressLine1" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_dei_EntityAddressCityOrTown" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityAddressCityOrTown" xml:lang="en-US">Entity Address, City or Town</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressCityOrTown" xlink:to="lab_dei_EntityAddressCityOrTown" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_dei_EntityAddressPostalZipCode" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityAddressPostalZipCode" xml:lang="en-US">Entity Address, Postal Zip Code</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressPostalZipCode" xlink:to="lab_dei_EntityAddressPostalZipCode" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_dei_EntityAddressStateOrProvince" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityAddressStateOrProvince" xml:lang="en-US">Entity Address, State or Province</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressStateOrProvince" xlink:to="lab_dei_EntityAddressStateOrProvince" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="loc_dei_EntityCentralIndexKey" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityCentralIndexKey" xml:lang="en-US">Entity Central Index Key</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey" xlink:to="lab_dei_EntityCentralIndexKey" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_dei_EntityCommonStockSharesOutstanding" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xml:lang="en-US">Entity Common Stock, Shares Outstanding</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCommonStockSharesOutstanding" xlink:to="lab_dei_EntityCommonStockSharesOutstanding" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_dei_EntityCurrentReportingStatus" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityCurrentReportingStatus" xml:lang="en-US">Entity Current Reporting Status</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCurrentReportingStatus" xlink:to="lab_dei_EntityCurrentReportingStatus" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_dei_EntityEmergingGrowthCompany" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityEmergingGrowthCompany" xml:lang="en-US">Entity Emerging Growth Company</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityEmergingGrowthCompany" xlink:to="lab_dei_EntityEmergingGrowthCompany" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="loc_dei_EntityFileNumber" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityFileNumber" xml:lang="en-US">Entity File Number</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFileNumber" xlink:to="lab_dei_EntityFileNumber" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="loc_dei_EntityFilerCategory" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityFilerCategory" xml:lang="en-US">Entity Filer Category</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFilerCategory" xlink:to="lab_dei_EntityFilerCategory" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_dei_EntityIncorporationStateCountryCode" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xml:lang="en-US">Entity Incorporation, State or Country Code</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityIncorporationStateCountryCode" xlink:to="lab_dei_EntityIncorporationStateCountryCode" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_dei_EntityInteractiveDataCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityInteractiveDataCurrent" xml:lang="en-US">Entity Interactive Data Current</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityInteractiveDataCurrent" xlink:to="lab_dei_EntityInteractiveDataCurrent" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="loc_dei_EntityRegistrantName" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityRegistrantName" xml:lang="en-US">Entity Registrant Name</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityRegistrantName" xlink:to="lab_dei_EntityRegistrantName" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="loc_dei_EntityShellCompany" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityShellCompany" xml:lang="en-US">Entity Shell Company</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityShellCompany" xlink:to="lab_dei_EntityShellCompany" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="loc_dei_EntitySmallBusiness" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntitySmallBusiness" xml:lang="en-US">Entity Small Business</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntitySmallBusiness" xlink:to="lab_dei_EntitySmallBusiness" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_dei_EntityTaxIdentificationNumber" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityTaxIdentificationNumber" xml:lang="en-US">Entity Tax Identification Number</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityTaxIdentificationNumber" xlink:to="lab_dei_EntityTaxIdentificationNumber" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="loc_dei_LocalPhoneNumber" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_LocalPhoneNumber" xml:lang="en-US">Local Phone Number</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LocalPhoneNumber" xlink:to="lab_dei_LocalPhoneNumber" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="loc_dei_Security12bTitle" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_Security12bTitle" xml:lang="en-US">Title of 12(b) Security</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_Security12bTitle" xlink:to="lab_dei_Security12bTitle" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="loc_dei_SecurityExchangeName" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_SecurityExchangeName" xml:lang="en-US">Security Exchange Name</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SecurityExchangeName" xlink:to="lab_dei_SecurityExchangeName" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="loc_dei_TradingSymbol" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_TradingSymbol" xml:lang="en-US">Trading Symbol</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_TradingSymbol" xlink:to="lab_dei_TradingSymbol" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaap_IncomeStatementAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeStatementAbstract" xml:lang="en-US">Income Statement [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementAbstract" xlink:to="lab_us-gaap_IncomeStatementAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xml:lang="en-US">Comprehensive income</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTax" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xml:lang="en-US">Cost of Goods and Services Sold</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xml:lang="en-US">Cost of sales</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfGoodsAndServicesSold" xlink:to="lab_us-gaap_CostOfGoodsAndServicesSold" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaap_EarningsPerShareBasic" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EarningsPerShareBasic" xml:lang="en-US">Earnings Per Share, Basic</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EarningsPerShareBasic" xml:lang="en-US">Basic earnings per common share</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_EarningsPerShareBasic" xml:lang="en-US">Basic earnings per share</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasic" xlink:to="lab_us-gaap_EarningsPerShareBasic" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xml:lang="en-US">Earnings Per Share, Diluted</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xml:lang="en-US">Diluted earnings per common share</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xml:lang="en-US">Diluted earnings per share</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDiluted" xlink:to="lab_us-gaap_EarningsPerShareDiluted" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaap_GrossProfit" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_GrossProfit" xml:lang="en-US">Gross Profit</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_GrossProfit" xml:lang="en-US">Gross profit</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GrossProfit" xlink:to="lab_us-gaap_GrossProfit" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xml:lang="en-US">Income before income taxes</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xml:lang="en-US">Income Tax Expense (Benefit)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xml:lang="en-US">Provision for income taxes</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xml:lang="en-US">Income tax expense (benefit)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_IncomeTaxExpenseBenefit" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNet" xlink:label="loc_us-gaap_InterestIncomeExpenseNet" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InterestIncomeExpenseNet" xml:lang="en-US">Interest Income (Expense), Net</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_InterestIncomeExpenseNet" xml:lang="en-US">Interest (income) expense, net</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestIncomeExpenseNet" xlink:to="lab_us-gaap_InterestIncomeExpenseNet" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_NetIncomeLoss" xml:lang="en-US">Net income</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/disclosureGuidance" xlink:label="lab_us-gaap_NetIncomeLoss" xml:lang="en-US">Net income</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/presentationGuidance" xlink:label="lab_us-gaap_NetIncomeLoss" xml:lang="en-US">Net income available to common shareholders</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLoss" xlink:to="lab_us-gaap_NetIncomeLoss" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaap_OperatingIncomeLoss" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OperatingIncomeLoss" xml:lang="en-US">Operating Income (Loss)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_OperatingIncomeLoss" xml:lang="en-US">Income from operations</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingIncomeLoss" xlink:to="lab_us-gaap_OperatingIncomeLoss" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xml:lang="en-US">Revenue from Contract with Customer, Excluding Assessed Tax</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xml:lang="en-US">Net sales</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xml:lang="en-US">Selling, General and Administrative Expense</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xml:lang="en-US">Selling, general and administrative expenses</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpense" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xml:lang="en-US">Diluted weighted average common shares outstanding</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xml:lang="en-US">Diluted weighted average shares outstanding</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xml:lang="en-US">Basic weighted average common shares outstanding</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xml:lang="en-US">Basic weighted average shares outstanding</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xml:lang="en-US">Statement of Financial Position [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:to="lab_us-gaap_StatementOfFinancialPositionAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaap_AssetsAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AssetsAbstract" xml:lang="en-US">Assets [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AssetsAbstract" xml:lang="en-US">ASSETS</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsAbstract" xlink:to="lab_us-gaap_AssetsAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_Assets" xml:lang="en-US">Assets</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_Assets" xml:lang="en-US">Total assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Assets" xlink:to="lab_us-gaap_Assets" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaap_AssetsCurrentAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xml:lang="en-US">Assets, Current [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xml:lang="en-US">Current assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrentAbstract" xlink:to="lab_us-gaap_AssetsCurrentAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xml:lang="en-US">Accounts Receivable, Net, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xml:lang="en-US">Accounts receivable, net</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent" xlink:to="lab_us-gaap_AccountsReceivableNetCurrent" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaap_AssetsCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AssetsCurrent" xml:lang="en-US">Assets, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_AssetsCurrent" xml:lang="en-US">Total current assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="lab_us-gaap_AssetsCurrent" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xml:lang="en-US">Cash and cash equivalents</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InventoryNet" xml:lang="en-US">Inventory, Net</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_InventoryNet" xml:lang="en-US">Inventories</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryNet" xlink:to="lab_us-gaap_InventoryNet" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xml:lang="en-US">Prepaid Expense and Other Assets, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xml:lang="en-US">Prepaid expenses and other assets</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xml:lang="en-US">Total prepaid expenses and other assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetIncludingGoodwill" xlink:label="loc_us-gaap_IntangibleAssetsNetIncludingGoodwill" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IntangibleAssetsNetIncludingGoodwill" xml:lang="en-US">Intangible Assets, Net (Including Goodwill)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IntangibleAssetsNetIncludingGoodwill" xml:lang="en-US">Goodwill and other intangible assets, net</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IntangibleAssetsNetIncludingGoodwill" xlink:to="lab_us-gaap_IntangibleAssetsNetIncludingGoodwill" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xml:lang="en-US">Operating Lease, Right-of-Use Asset</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xml:lang="en-US">Operating lease assets</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xml:lang="en-US">Operating lease ROU assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="lab_us-gaap_OperatingLeaseRightOfUseAsset" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaap_OtherAssetsNoncurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xml:lang="en-US">Other Assets, Noncurrent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xml:lang="en-US">Other assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsNoncurrent" xlink:to="lab_us-gaap_OtherAssetsNoncurrent" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xml:lang="en-US">Property, Plant and Equipment, Net</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xml:lang="en-US">Property, plant and equipment, net</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentNet" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xml:lang="en-US">Liabilities and Equity [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xml:lang="en-US">LIABILITIES AND STOCKHOLDERS' EQUITY</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaap_CommitmentsAndContingencies" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CommitmentsAndContingencies" xml:lang="en-US">Commitments and Contingencies</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CommitmentsAndContingencies" xml:lang="en-US">Commitments and contingencies</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingencies" xlink:to="lab_us-gaap_CommitmentsAndContingencies" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xml:lang="en-US">Deferred Income Tax Liabilities, Net</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xml:lang="en-US">Deferred income taxes</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaap_Liabilities" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_Liabilities" xml:lang="en-US">Liabilities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_Liabilities" xml:lang="en-US">Total liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Liabilities" xlink:to="lab_us-gaap_Liabilities" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xml:lang="en-US">Liabilities and Equity</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xml:lang="en-US">Total liabilities and stockholders' equity</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquity" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xml:lang="en-US">Liabilities, Current [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xml:lang="en-US">Current liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:to="lab_us-gaap_LiabilitiesCurrentAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaap_AccountsPayableCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccountsPayableCurrent" xml:lang="en-US">Accounts Payable, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AccountsPayableCurrent" xml:lang="en-US">Accounts payable</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableCurrent" xlink:to="lab_us-gaap_AccountsPayableCurrent" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" xlink:label="loc_trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" xml:lang="en-US">Accrued Liabilities And Other Liabilities Current Excluding Warranty</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" xml:lang="en-US">Accrued expenses and other liabilities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" xml:lang="en-US">Total accrued expenses and other liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" xlink:to="lab_trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" xml:lang="en-US">Accrued liabilities and other liabilities current excluding warranty.</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaap_LiabilitiesCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LiabilitiesCurrent" xml:lang="en-US">Liabilities, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_LiabilitiesCurrent" xml:lang="en-US">Total current liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="lab_us-gaap_LiabilitiesCurrent" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaap_LinesOfCreditCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LinesOfCreditCurrent" xml:lang="en-US">Line of Credit, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_LinesOfCreditCurrent" xml:lang="en-US">Line of credit</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/positiveLabel" xlink:label="lab_us-gaap_LinesOfCreditCurrent" xml:lang="en-US">Outstanding borrowing capacity</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LinesOfCreditCurrent" xlink:to="lab_us-gaap_LinesOfCreditCurrent" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardProductWarrantyAccrualCurrent" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualCurrent" xml:lang="en-US">Standard Product Warranty Accrual, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualCurrent" xml:lang="en-US">Accrued warranty</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyAccrualCurrent" xlink:to="lab_us-gaap_StandardProductWarrantyAccrualCurrent" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xml:lang="en-US">Operating Lease, Liability, Noncurrent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xml:lang="en-US">Operating lease liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent" xml:lang="en-US">Other Liabilities, Noncurrent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent" xml:lang="en-US">Other long-term liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherLiabilitiesNoncurrent" xlink:to="lab_us-gaap_OtherLiabilitiesNoncurrent" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardProductWarrantyAccrualNoncurrent" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualNoncurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualNoncurrent" xml:lang="en-US">Standard Product Warranty Accrual, Noncurrent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualNoncurrent" xml:lang="en-US">Non-current accrued warranty</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyAccrualNoncurrent" xlink:to="lab_us-gaap_StandardProductWarrantyAccrualNoncurrent" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaap_StockholdersEquityAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xml:lang="en-US">Stockholders' Equity Attributable to Parent [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xml:lang="en-US">Stockholders' equity</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityAbstract" xlink:to="lab_us-gaap_StockholdersEquityAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xml:lang="en-US">Additional Paid in Capital, Common Stock</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xml:lang="en-US">Additional paid-in capital</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="lab_us-gaap_AdditionalPaidInCapitalCommonStock" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaap_CommonStockValue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CommonStockValue" xml:lang="en-US">Common Stock, Value, Issued</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CommonStockValue" xml:lang="en-US">Common stock, $0.01 par value, 360,000,000 shares authorized; 141,056,063 and 140,974,843 shares issued and 108,692,757 and 108,611,537 share outstanding, at March 31, 2024 and December 31, 2023, respectively</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockValue" xlink:to="lab_us-gaap_CommonStockValue" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="loc_us-gaap_PreferredStockValue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PreferredStockValue" xml:lang="en-US">Preferred Stock, Value, Issued</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_PreferredStockValue" xml:lang="en-US">Preferred stock, $0.01 par value, 3,000,000 shares authorized; none issued and outstanding</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockValue" xlink:to="lab_us-gaap_PreferredStockValue" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xml:lang="en-US">Retained earnings</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="lab_us-gaap_RetainedEarningsAccumulatedDeficit" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockholdersEquity" xml:lang="en-US">Stockholders' Equity Attributable to Parent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_StockholdersEquity" xml:lang="en-US">Total stockholders' equity</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="lab_us-gaap_StockholdersEquity" xml:lang="en-US">Ending Balance</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="lab_us-gaap_StockholdersEquity" xml:lang="en-US">Beginning Balance</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="lab_us-gaap_StockholdersEquity" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue" xlink:label="loc_us-gaap_TreasuryStockValue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_TreasuryStockValue" xml:lang="en-US">Treasury Stock, Value</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_TreasuryStockValue" xml:lang="en-US">Treasury stock, at cost, 32,363,306 and 32,363,306 shares at March 31, 2024 and December 31, 2023</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockValue" xlink:to="lab_us-gaap_TreasuryStockValue" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xml:lang="en-US">Common stock, par value</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_CommonStockParOrStatedValuePerShare" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaap_CommonStockSharesAuthorized" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xml:lang="en-US">Common Stock, Shares Authorized</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xml:lang="en-US">Common stock, shares authorized</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesAuthorized" xlink:to="lab_us-gaap_CommonStockSharesAuthorized" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CommonStockSharesIssued" xml:lang="en-US">Common Stock, Shares, Issued</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CommonStockSharesIssued" xml:lang="en-US">Common stock, shares issued</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued" xlink:to="lab_us-gaap_CommonStockSharesIssued" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaap_CommonStockSharesOutstanding" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xml:lang="en-US">Common Stock, Shares, Outstanding</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xml:lang="en-US">Common stock, shares outstanding</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesOutstanding" xlink:to="lab_us-gaap_CommonStockSharesOutstanding" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xml:lang="en-US">Preferred Stock, Par or Stated Value Per Share</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xml:lang="en-US">Preferred stock, par value</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_PreferredStockParOrStatedValuePerShare" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xml:lang="en-US">Preferred Stock, Shares Authorized</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xml:lang="en-US">Preferred stock, shares authorized</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesAuthorized" xlink:to="lab_us-gaap_PreferredStockSharesAuthorized" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="loc_us-gaap_PreferredStockSharesIssued" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xml:lang="en-US">Preferred Stock, Shares Issued</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xml:lang="en-US">Preferred stock, shares issued</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesIssued" xlink:to="lab_us-gaap_PreferredStockSharesIssued" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xml:lang="en-US">Preferred Stock, Shares Outstanding</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xml:lang="en-US">Preferred stock, shares outstanding</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesOutstanding" xlink:to="lab_us-gaap_PreferredStockSharesOutstanding" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="loc_us-gaap_TreasuryStockCommonShares" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_TreasuryStockCommonShares" xml:lang="en-US">Treasury Stock, Common, Shares</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_TreasuryStockCommonShares" xml:lang="en-US">Treasury stock, shares</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockCommonShares" xlink:to="lab_us-gaap_TreasuryStockCommonShares" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="lab_us-gaap_StatementOfStockholdersEquityAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StatementTable" xml:lang="en-US">Statement [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StatementTable" xml:lang="en-US">Statement [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementTable" xlink:to="lab_us-gaap_StatementTable" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xml:lang="en-US">Equity Components [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xml:lang="en-US">Equity Components [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementEquityComponentsAxis" xlink:to="lab_us-gaap_StatementEquityComponentsAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EquityComponentDomain" xml:lang="en-US">Equity Component [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EquityComponentDomain" xml:lang="en-US">Equity Component [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityComponentDomain" xlink:to="lab_us-gaap_EquityComponentDomain" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xml:lang="en-US">Additional Paid-in Capital [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xml:lang="en-US">Additional Paid-In Capital [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:to="lab_us-gaap_AdditionalPaidInCapitalMember" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CommonStockMember" xml:lang="en-US">Common Stock [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CommonStockMember" xml:lang="en-US">Common Stock [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockMember" xlink:to="lab_us-gaap_CommonStockMember" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaap_RetainedEarningsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RetainedEarningsMember" xml:lang="en-US">Retained Earnings [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_RetainedEarningsMember" xml:lang="en-US">Retained Earnings [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsMember" xlink:to="lab_us-gaap_RetainedEarningsMember" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="loc_us-gaap_TreasuryStockCommonMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_TreasuryStockCommonMember" xml:lang="en-US">Treasury Stock, Common [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_TreasuryStockCommonMember" xml:lang="en-US">Treasury Stock [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockCommonMember" xlink:to="lab_us-gaap_TreasuryStockCommonMember" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StatementLineItems" xml:lang="en-US">Statement [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StatementLineItems" xml:lang="en-US">Statement [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementLineItems" xlink:to="lab_us-gaap_StatementLineItems" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xml:lang="en-US">Adjustments Related to Tax Withholding for Share-based Compensation</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xml:lang="en-US">Shares withheld for taxes on awards</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesIssued" xlink:label="loc_us-gaap_SharesIssued" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SharesIssued" xml:lang="en-US">Shares, Issued</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="lab_us-gaap_SharesIssued" xml:lang="en-US">Ending Balance, Shares</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="lab_us-gaap_SharesIssued" xml:lang="en-US">Beginning Balance, Shares</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharesIssued" xlink:to="lab_us-gaap_SharesIssued" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xml:lang="en-US">Shares Paid for Tax Withholding for Share Based Compensation</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xml:lang="en-US">Shares withheld for taxes on awards, Shares</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="lab_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xml:lang="en-US">Stock Issued During Period, Shares, Share-based Compensation, Net of Forfeitures</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xml:lang="en-US">Employee stock plans, Shares</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross" xml:lang="en-US">Stock Issued During Period, Shares, Share-based Compensation, Gross</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross" xml:lang="en-US">Stock-based compensation, Shares</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xml:lang="en-US">Stock Issued During Period, Value, Share-based Compensation, Net of Forfeitures</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xml:lang="en-US">Employee stock plans</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross" xml:lang="en-US">Stock Issued During Period, Value, Share-based Compensation, Gross</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross" xml:lang="en-US">Stock-based compensation</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xml:lang="en-US">Statement of Cash Flows [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:to="lab_us-gaap_StatementOfCashFlowsAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xml:lang="en-US">Cash and cash equivalents, end of period</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xml:lang="en-US">Cash and cash equivalents, beginning of period</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xml:lang="en-US">Net increase (decrease) in cash and cash equivalents</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xml:lang="en-US">Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xml:lang="en-US">Supplemental non-cash investing and financing disclosure:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="lab_us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_CapitalExpendituresInAccountsPayable" xlink:label="loc_trex_CapitalExpendituresInAccountsPayable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_CapitalExpendituresInAccountsPayable" xml:lang="en-US">Capital Expenditures In Accounts Payable</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_CapitalExpendituresInAccountsPayable" xml:lang="en-US">Capital expenditures in accounts payable</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_CapitalExpendituresInAccountsPayable" xlink:to="lab_trex_CapitalExpendituresInAccountsPayable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_CapitalExpendituresInAccountsPayable" xml:lang="en-US">Capital expenditures in accounts payable.</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xml:lang="en-US">FINANCING ACTIVITIES</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xml:lang="en-US">Net cash provided by financing activities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_PaymentsForProceedsFromFinancingCosts" xlink:label="loc_trex_PaymentsForProceedsFromFinancingCosts" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_PaymentsForProceedsFromFinancingCosts" xml:lang="en-US">Payments For Proceeds From Financing Costs</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_trex_PaymentsForProceedsFromFinancingCosts" xml:lang="en-US">Financing costs</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_PaymentsForProceedsFromFinancingCosts" xlink:to="lab_trex_PaymentsForProceedsFromFinancingCosts" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_PaymentsForProceedsFromFinancingCosts" xml:lang="en-US">Payments for (proceeds from) financing costs.</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xml:lang="en-US">Payments for Repurchase of Common Stock</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xml:lang="en-US">Repurchases of common stock</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xml:lang="en-US">Proceeds from Issuance of Shares under Incentive and Share-based Compensation Plans, Including Stock Options</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xml:lang="en-US">Proceeds from employee stock purchase and option plans</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="loc_us-gaap_ProceedsFromLinesOfCredit" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ProceedsFromLinesOfCredit" xml:lang="en-US">Proceeds from Lines of Credit</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ProceedsFromLinesOfCredit" xml:lang="en-US">Borrowings under line of credit</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromLinesOfCredit" xlink:to="lab_us-gaap_ProceedsFromLinesOfCredit" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="loc_us-gaap_RepaymentsOfLinesOfCredit" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RepaymentsOfLinesOfCredit" xml:lang="en-US">Repayments of Lines of Credit</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_RepaymentsOfLinesOfCredit" xml:lang="en-US">Principal payments under line of credit</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RepaymentsOfLinesOfCredit" xlink:to="lab_us-gaap_RepaymentsOfLinesOfCredit" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xml:lang="en-US">INVESTING ACTIVITIES</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xml:lang="en-US">Net cash used in investing activities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xml:lang="en-US">Expenditures for property, plant and equipment</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xml:lang="en-US">Proceeds from Sale of Property, Plant, and Equipment</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xml:lang="en-US">Proceeds from sales of property, plant and equipment</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xml:lang="en-US">OPERATING ACTIVITIES</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xml:lang="en-US">Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xml:lang="en-US">Adjustments to reconcile net income to net cash used in operating activities:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xml:lang="en-US">Deferred Income Tax Expense (Benefit)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xml:lang="en-US">Deferred Income Taxes</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DepreciationDepletionAndAmortization" xml:lang="en-US">Depreciation, Depletion and Amortization</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DepreciationDepletionAndAmortization" xml:lang="en-US">Depreciation and amortization</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DepreciationDepletionAndAmortization" xlink:to="lab_us-gaap_DepreciationDepletionAndAmortization" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xml:lang="en-US">Gain (Loss) on Disposition of Property Plant Equipment</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xml:lang="en-US">Loss (gain) on disposal of property, plant and equipment</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="loc_us-gaap_OtherNoncashIncomeExpense" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OtherNoncashIncomeExpense" xml:lang="en-US">Other Noncash Income (Expense)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_OtherNoncashIncomeExpense" xml:lang="en-US">Other non-cash adjustments</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNoncashIncomeExpense" xlink:to="lab_us-gaap_OtherNoncashIncomeExpense" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaap_ShareBasedCompensation" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensation" xml:lang="en-US">Share-based Compensation</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensation" xml:lang="en-US">Stock-based compensation</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensation" xlink:to="lab_us-gaap_ShareBasedCompensation" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xml:lang="en-US">Increase (Decrease) in Operating Assets [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xml:lang="en-US">Changes in operating assets and liabilities:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="lab_us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xml:lang="en-US">Increase (Decrease) in Accounts Payable</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xml:lang="en-US">Accounts payable</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsPayable" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xml:lang="en-US">Accounts receivable</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xml:lang="en-US">Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xml:lang="en-US">Accrued expenses and other liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" xlink:label="loc_us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" xml:lang="en-US">Increase (Decrease) in Income Taxes Payable, Net of Income Taxes Receivable</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" xml:lang="en-US">Income taxes receivable/payable</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" xlink:to="lab_us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xml:lang="en-US">Increase (Decrease) in Inventories</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xml:lang="en-US">Inventories</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInInventories" xlink:to="lab_us-gaap_IncreaseDecreaseInInventories" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xml:lang="en-US">Increase (Decrease) in Prepaid Expense and Other Assets</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xml:lang="en-US">Prepaid expenses and other assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xml:lang="en-US">Net cash used in operating activities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaap_ProfitLoss" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ProfitLoss" xml:lang="en-US">Net Income (Loss), Including Portion Attributable to Noncontrolling Interest</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ProfitLoss" xml:lang="en-US">Net income</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProfitLoss" xlink:to="lab_us-gaap_ProfitLoss" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="loc_us-gaap_SupplementalCashFlowInformationAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SupplementalCashFlowInformationAbstract" xml:lang="en-US">Supplemental Cash Flow Information [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_SupplementalCashFlowInformationAbstract" xml:lang="en-US">Supplemental Disclosure:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="lab_us-gaap_SupplementalCashFlowInformationAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="loc_us-gaap_IncomeTaxesPaidNet" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxesPaidNet" xml:lang="en-US">Income Taxes Paid, Net</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_IncomeTaxesPaidNet" xml:lang="en-US">Cash paid for income taxes, net</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxesPaidNet" xlink:to="lab_us-gaap_IncomeTaxesPaidNet" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet" xlink:label="loc_us-gaap_InterestPaidNet" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InterestPaidNet" xml:lang="en-US">Interest Paid, Excluding Capitalized Interest, Operating Activities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_InterestPaidNet" xml:lang="en-US">Cash paid for interest, net of capitalized interest</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestPaidNet" xlink:to="lab_us-gaap_InterestPaidNet" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NatureOfOperations" xlink:label="loc_us-gaap_NatureOfOperations" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NatureOfOperations" xml:lang="en-US">Nature of Operations [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_NatureOfOperations" xml:lang="en-US">Business and Organization</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NatureOfOperations" xlink:to="lab_us-gaap_NatureOfOperations" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xml:lang="en-US">Basis of Presentation</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:to="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:label="loc_us-gaap_AccountingChangesAndErrorCorrectionsAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xml:lang="en-US">Accounting Changes and Error Corrections [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:to="lab_us-gaap_AccountingChangesAndErrorCorrectionsAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xml:lang="en-US">New Accounting Pronouncements and Changes in Accounting Principles [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xml:lang="en-US">Recently Adopted Accounting Standards</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:to="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_NewAccountingStandardsNotYetAdoptedAbstract" xlink:label="loc_trex_NewAccountingStandardsNotYetAdoptedAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_NewAccountingStandardsNotYetAdoptedAbstract" xml:lang="en-US">New Accounting Standards Not Yet Adopted [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_NewAccountingStandardsNotYetAdoptedAbstract" xlink:to="lab_trex_NewAccountingStandardsNotYetAdoptedAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_NewAccountingStandardsNotYetAdoptedAbstract" xml:lang="en-US">New accounting standards not yet adopted abstract</label>
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_DescriptionOfNewAccountingStandardsNotYetAdoptedTextBlock" xlink:label="loc_trex_DescriptionOfNewAccountingStandardsNotYetAdoptedTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_DescriptionOfNewAccountingStandardsNotYetAdoptedTextBlock" xml:lang="en-US">Description Of New Accounting Standards Not Yet Adopted [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_DescriptionOfNewAccountingStandardsNotYetAdoptedTextBlock" xml:lang="en-US">New Accounting Standards Not Yet Adopted</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_DescriptionOfNewAccountingStandardsNotYetAdoptedTextBlock" xlink:to="lab_trex_DescriptionOfNewAccountingStandardsNotYetAdoptedTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_DescriptionOfNewAccountingStandardsNotYetAdoptedTextBlock" xml:lang="en-US">Description of new accounting standards not yet adopted.</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaap_InventoryDisclosureAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InventoryDisclosureAbstract" xml:lang="en-US">Inventory Disclosure [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureAbstract" xlink:to="lab_us-gaap_InventoryDisclosureAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock" xml:lang="en-US">Inventory Disclosure [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock" xml:lang="en-US">Inventories</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureTextBlock" xlink:to="lab_us-gaap_InventoryDisclosureTextBlock" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract" xlink:label="loc_us-gaap_TextBlockAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_TextBlockAbstract" xml:lang="en-US">Text Block [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TextBlockAbstract" xlink:to="lab_us-gaap_TextBlockAbstract" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_PrepaidAndOtherCurrentAssetsDisclosureTextBlock" xlink:label="loc_trex_PrepaidAndOtherCurrentAssetsDisclosureTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_PrepaidAndOtherCurrentAssetsDisclosureTextBlock" xml:lang="en-US">Prepaid And Other Current Assets Disclosure [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_PrepaidAndOtherCurrentAssetsDisclosureTextBlock" xml:lang="en-US">Prepaid Expenses and Other Assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_PrepaidAndOtherCurrentAssetsDisclosureTextBlock" xlink:to="lab_trex_PrepaidAndOtherCurrentAssetsDisclosureTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_PrepaidAndOtherCurrentAssetsDisclosureTextBlock" xml:lang="en-US">The entire disclosure pertaining to prepaid and other current assets.</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xml:lang="en-US">Goodwill and Other Intangible Assets, Net</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PayablesAndAccrualsAbstract" xml:lang="en-US">Payables and Accruals [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract" xlink:to="lab_us-gaap_PayablesAndAccrualsAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:label="loc_us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xml:lang="en-US">Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xml:lang="en-US">Accrued Expenses and Other Liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:to="lab_us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaap_DebtDisclosureAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtDisclosureAbstract" xml:lang="en-US">Debt Disclosure [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtDisclosureAbstract" xlink:to="lab_us-gaap_DebtDisclosureAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="loc_us-gaap_DebtDisclosureTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtDisclosureTextBlock" xml:lang="en-US">Debt Disclosure [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtDisclosureTextBlock" xml:lang="en-US">Debt</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtDisclosureTextBlock" xlink:to="lab_us-gaap_DebtDisclosureTextBlock" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LeasesAbstract" xml:lang="en-US">Leases [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeasesAbstract" xlink:to="lab_us-gaap_LeasesAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xml:lang="en-US">Lessee, Operating Leases [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xml:lang="en-US">Leases</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeasesTextBlock" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentsAllOtherInvestmentsAbstract" xlink:label="loc_us-gaap_InvestmentsAllOtherInvestmentsAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InvestmentsAllOtherInvestmentsAbstract" xml:lang="en-US">Investments, All Other Investments [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentsAllOtherInvestmentsAbstract" xlink:to="lab_us-gaap_InvestmentsAllOtherInvestmentsAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentsDisclosureTextBlock" xlink:label="loc_us-gaap_FinancialInstrumentsDisclosureTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FinancialInstrumentsDisclosureTextBlock" xml:lang="en-US">Financial Instruments Disclosure [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_FinancialInstrumentsDisclosureTextBlock" xml:lang="en-US">Financial Instruments</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancialInstrumentsDisclosureTextBlock" xlink:to="lab_us-gaap_FinancialInstrumentsDisclosureTextBlock" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaap_EquityAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EquityAbstract" xml:lang="en-US">Equity [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityAbstract" xlink:to="lab_us-gaap_EquityAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xml:lang="en-US">Stockholders' Equity Note Disclosure [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xml:lang="en-US">Stockholders' Equity</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xml:lang="en-US">Revenue from Contract with Customer [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xml:lang="en-US">Revenue From Contracts With Customers</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xml:lang="en-US">Disclosure of Compensation Related Costs, Share-based Payments [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xml:lang="en-US">Disclosure of Compensation Related Costs, Share-based Payments [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xml:lang="en-US">Stock-Based Compensation</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xml:lang="en-US">Income Tax Disclosure [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:to="lab_us-gaap_IncomeTaxDisclosureAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xml:lang="en-US">Income Tax Disclosure [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xml:lang="en-US">Income Taxes</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="lab_us-gaap_IncomeTaxDisclosureTextBlock" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SeasonalityDisclosureTextBlock" xlink:label="loc_trex_SeasonalityDisclosureTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_SeasonalityDisclosureTextBlock" xml:lang="en-US">Seasonality Disclosure [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_SeasonalityDisclosureTextBlock" xml:lang="en-US">Seasonality</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_SeasonalityDisclosureTextBlock" xlink:to="lab_trex_SeasonalityDisclosureTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_SeasonalityDisclosureTextBlock" xml:lang="en-US">Identifies seasonal trends affecting the demand for Trex products and quarterly net sales.</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xml:lang="en-US">Commitments and Contingencies</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xml:lang="en-US">Schedule of Inventory, Current [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xml:lang="en-US">Summary of Inventories</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_PrepaidExpenseAndOtherAssetsCurrentTableTextBlock" xlink:label="loc_trex_PrepaidExpenseAndOtherAssetsCurrentTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_PrepaidExpenseAndOtherAssetsCurrentTableTextBlock" xml:lang="en-US">Prepaid Expense And Other Assets Current [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_PrepaidExpenseAndOtherAssetsCurrentTableTextBlock" xml:lang="en-US">Summary of Prepaid Expenses and Other Assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_PrepaidExpenseAndOtherAssetsCurrentTableTextBlock" xlink:to="lab_trex_PrepaidExpenseAndOtherAssetsCurrentTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_PrepaidExpenseAndOtherAssetsCurrentTableTextBlock" xml:lang="en-US">Tabular disclosure pertaining to prepaid expense and other assets current.</label>
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock" xlink:label="loc_trex_ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock" xml:lang="en-US">Schedule of Accrued Liabilities and Other Current Liabilities [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock" xml:lang="en-US">Summary of Accrued Expenses and Other Liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock" xlink:to="lab_trex_ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock" xml:lang="en-US">Tabular disclosure of the components of accrued liabilities and other current liabilities.</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xml:lang="en-US">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xml:lang="en-US">Maturities of operating lease liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SupplementalFinancialInformationOfOperatingLeasesTableTextBlock" xlink:label="loc_trex_SupplementalFinancialInformationOfOperatingLeasesTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_SupplementalFinancialInformationOfOperatingLeasesTableTextBlock" xml:lang="en-US">Supplemental Financial Information Of Operating Leases [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_trex_SupplementalFinancialInformationOfOperatingLeasesTableTextBlock" xml:lang="en-US">Supplemental Cash Flow information and Supplemental balance sheet information related to operating leases to operating leases</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_SupplementalFinancialInformationOfOperatingLeasesTableTextBlock" xlink:to="lab_trex_SupplementalFinancialInformationOfOperatingLeasesTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_SupplementalFinancialInformationOfOperatingLeasesTableTextBlock" xml:lang="en-US">Table includes supplemental cash flow information and supplemental balance sheet information related to operating leases</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xml:lang="en-US">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:to="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xml:lang="en-US">Computation of Basic and Diluted Earnings Per Share</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_AwardTypeAxis" xml:lang="en-US">Award Type [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AwardTypeAxis" xlink:to="lab_us-gaap_AwardTypeAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xml:lang="en-US">Equity Award [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" xml:lang="en-US">Schedule of Compensation Cost for Share-based Payment Arrangements, Allocation of Share-based Compensation Costs by Plan [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" xml:lang="en-US">Summary of Stock-Based Compensation Expense</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xml:lang="en-US">Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xml:lang="en-US">Summary of Assumptions Used to Estimate Fair Value of Each SAR</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock" xml:lang="en-US">Summary of Stock-Based Compensation Grants</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xml:lang="en-US">Schedule of Product Warranty Liability [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xml:lang="en-US">Summary of Reconciliation of Company's Residential Product Warranty Reserve</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xml:lang="en-US">Accounting Policies [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingPoliciesAbstract" xlink:to="lab_us-gaap_AccountingPoliciesAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportableSegments" xlink:label="loc_us-gaap_NumberOfReportableSegments" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NumberOfReportableSegments" xml:lang="en-US">Number of Reportable Segments</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_NumberOfReportableSegments" xml:lang="en-US">Number of reportable segments</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NumberOfReportableSegments" xlink:to="lab_us-gaap_NumberOfReportableSegments" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaap_InventoryFinishedGoods" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InventoryFinishedGoods" xml:lang="en-US">Inventory, Finished Goods, Gross</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_InventoryFinishedGoods" xml:lang="en-US">Finished goods</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryFinishedGoods" xlink:to="lab_us-gaap_InventoryFinishedGoods" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryGross" xlink:label="loc_us-gaap_InventoryGross" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InventoryGross" xml:lang="en-US">Inventory, Gross</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_InventoryGross" xml:lang="en-US">Total FIFO (first-in, first-out) inventories</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryGross" xlink:to="lab_us-gaap_InventoryGross" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryLIFOReserve" xlink:label="loc_us-gaap_InventoryLIFOReserve" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InventoryLIFOReserve" xml:lang="en-US">Inventory, LIFO Reserve</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="lab_us-gaap_InventoryLIFOReserve" xml:lang="en-US">Reserve to adjust inventories to LIFO value</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryLIFOReserve" xlink:to="lab_us-gaap_InventoryLIFOReserve" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterials" xlink:label="loc_us-gaap_InventoryRawMaterials" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InventoryRawMaterials" xml:lang="en-US">Inventory, Raw Materials, Gross</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_InventoryRawMaterials" xml:lang="en-US">Raw materials</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryRawMaterials" xlink:to="lab_us-gaap_InventoryRawMaterials" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LIFOInventoryAmount" xlink:label="loc_us-gaap_LIFOInventoryAmount" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LIFOInventoryAmount" xml:lang="en-US">LIFO Inventory Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_LIFOInventoryAmount" xml:lang="en-US">Total LIFO inventories</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LIFOInventoryAmount" xlink:to="lab_us-gaap_LIFOInventoryAmount" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsAbstract" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsAbstract" xml:lang="en-US">Prepaid Expense and Other Assets [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsAbstract" xlink:to="lab_us-gaap_PrepaidExpenseAndOtherAssetsAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="loc_us-gaap_IncomeTaxesReceivable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxesReceivable" xml:lang="en-US">Income Taxes Receivable, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxesReceivable" xml:lang="en-US">Income tax receivable</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxesReceivable" xlink:to="lab_us-gaap_IncomeTaxesReceivable" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent" xlink:label="loc_us-gaap_OtherAssetsCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OtherAssetsCurrent" xml:lang="en-US">Other Assets, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OtherAssetsCurrent" xml:lang="en-US">Other</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsCurrent" xlink:to="lab_us-gaap_OtherAssetsCurrent" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="loc_us-gaap_PrepaidExpenseCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PrepaidExpenseCurrent" xml:lang="en-US">Prepaid Expense, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PrepaidExpenseCurrent" xml:lang="en-US">Prepaid expenses</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpenseCurrent" xlink:to="lab_us-gaap_PrepaidExpenseCurrent" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfGoodwillTable" xml:lang="en-US">Schedule of Goodwill [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfGoodwillTable" xml:lang="en-US">Schedule of Goodwill [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable" xlink:to="lab_us-gaap_ScheduleOfGoodwillTable" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancingReceivablePortfolioSegmentAxis" xlink:label="loc_us-gaap_FinancingReceivablePortfolioSegmentAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FinancingReceivablePortfolioSegmentAxis" xml:lang="en-US">Financing Receivable Portfolio Segment [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_FinancingReceivablePortfolioSegmentAxis" xml:lang="en-US">Financing Receivable Portfolio Segment [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancingReceivablePortfolioSegmentAxis" xlink:to="lab_us-gaap_FinancingReceivablePortfolioSegmentAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancingReceivablePortfolioSegmentDomain" xlink:label="loc_us-gaap_FinancingReceivablePortfolioSegmentDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FinancingReceivablePortfolioSegmentDomain" xml:lang="en-US">Financing Receivable Portfolio Segment [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_FinancingReceivablePortfolioSegmentDomain" xml:lang="en-US">Financing Receivable Portfolio Segment [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancingReceivablePortfolioSegmentDomain" xlink:to="lab_us-gaap_FinancingReceivablePortfolioSegmentDomain" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResidentialPortfolioSegmentMember" xlink:label="loc_us-gaap_ResidentialPortfolioSegmentMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ResidentialPortfolioSegmentMember" xml:lang="en-US">Residential Portfolio Segment [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ResidentialPortfolioSegmentMember" xml:lang="en-US">Residential [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResidentialPortfolioSegmentMember" xlink:to="lab_us-gaap_ResidentialPortfolioSegmentMember" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InternetDomainNamesMember" xlink:label="loc_us-gaap_InternetDomainNamesMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InternetDomainNamesMember" xml:lang="en-US">Internet Domain Names [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_InternetDomainNamesMember" xml:lang="en-US">Domain Names [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InternetDomainNamesMember" xlink:to="lab_us-gaap_InternetDomainNamesMember" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillLineItems" xlink:label="loc_us-gaap_GoodwillLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_GoodwillLineItems" xml:lang="en-US">Goodwill [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_GoodwillLineItems" xml:lang="en-US">Goodwill [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillLineItems" xlink:to="lab_us-gaap_GoodwillLineItems" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xml:lang="en-US">Amortization of Intangible Assets</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xml:lang="en-US">Amortization of intangible asset</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfIntangibleAssets" xlink:to="lab_us-gaap_AmortizationOfIntangibleAssets" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xml:lang="en-US">Accumulated Amortization</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xml:lang="en-US">Finite-Lived Intangible Asset, Useful Life</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xml:lang="en-US">Amortization period</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_Goodwill" xml:lang="en-US">Goodwill</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_Goodwill" xml:lang="en-US">Goodwill</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Goodwill" xlink:to="lab_us-gaap_Goodwill" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:label="loc_us-gaap_IntangibleAssetsGrossExcludingGoodwill" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IntangibleAssetsGrossExcludingGoodwill" xml:lang="en-US">Intangible Assets, Gross (Excluding Goodwill)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_IntangibleAssetsGrossExcludingGoodwill" xml:lang="en-US">Intangible Assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:to="lab_us-gaap_IntangibleAssetsGrossExcludingGoodwill" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xml:lang="en-US">Indefinite-lived Intangible Assets [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xml:lang="en-US">Indefinite-lived Intangible Assets [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="lab_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xml:lang="en-US">Indefinite-lived Intangible Assets, Major Class Name [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xml:lang="en-US">Indefinite-lived Intangible Assets, Major Class Name [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="lab_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReportingUnitAxis" xlink:label="loc_us-gaap_ReportingUnitAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ReportingUnitAxis" xml:lang="en-US">Reporting Unit [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReportingUnitAxis" xlink:to="lab_us-gaap_ReportingUnitAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReportingUnitDomain" xlink:label="loc_us-gaap_ReportingUnitDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ReportingUnitDomain" xml:lang="en-US">Reporting Unit [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReportingUnitDomain" xlink:to="lab_us-gaap_ReportingUnitDomain" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccruedIncomeTaxesCurrent" xml:lang="en-US">Accrued Income Taxes, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AccruedIncomeTaxesCurrent" xml:lang="en-US">Income Taxes</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedIncomeTaxesCurrent" xlink:to="lab_us-gaap_AccruedIncomeTaxesCurrent" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_AccruedManufacturingExpensesCurrent" xlink:label="loc_trex_AccruedManufacturingExpensesCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_AccruedManufacturingExpensesCurrent" xml:lang="en-US">Accrued Manufacturing Expenses Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_AccruedManufacturingExpensesCurrent" xml:lang="en-US">Manufacturing costs</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_AccruedManufacturingExpensesCurrent" xlink:to="lab_trex_AccruedManufacturingExpensesCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_AccruedManufacturingExpensesCurrent" xml:lang="en-US">Accrued expenses related to manufacturing facilities primarily consisting of accrued utilities, equipment rentals and temporary labor expenses.</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedMarketingCostsCurrent" xlink:label="loc_us-gaap_AccruedMarketingCostsCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccruedMarketingCostsCurrent" xml:lang="en-US">Accrued Marketing Costs, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AccruedMarketingCostsCurrent" xml:lang="en-US">Sales and marketing</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedMarketingCostsCurrent" xlink:to="lab_us-gaap_AccruedMarketingCostsCurrent" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xml:lang="en-US">Employee-related Liabilities, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xml:lang="en-US">Compensation and benefits</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:to="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xml:lang="en-US">Operating Lease, Liability, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xml:lang="en-US">Operating lease liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrent" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xml:lang="en-US">Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xml:lang="en-US">Other Accrued Liabilities, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xml:lang="en-US">Other</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:to="lab_us-gaap_OtherAccruedLiabilitiesCurrent" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="loc_us-gaap_LineOfCreditFacilityTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LineOfCreditFacilityTable" xml:lang="en-US">Line of Credit Facility [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_LineOfCreditFacilityTable" xml:lang="en-US">Line of Credit Facility [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityTable" xlink:to="lab_us-gaap_LineOfCreditFacilityTable" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_AgreementAxis" xlink:label="loc_trex_AgreementAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_AgreementAxis" xml:lang="en-US">Agreement [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_AgreementAxis" xml:lang="en-US">Agreement [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_AgreementAxis" xlink:to="lab_trex_AgreementAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_AgreementAxis" xml:lang="en-US">Agreement.</label>
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_AgreementDomain" xlink:label="loc_trex_AgreementDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_AgreementDomain" xml:lang="en-US">Agreement [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_AgreementDomain" xml:lang="en-US">Agreement [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_AgreementDomain" xlink:to="lab_trex_AgreementDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_AgreementDomain" xml:lang="en-US">Agreement domain.</label>
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_FifthAmendmentAndRestatedAgreementMember" xlink:label="loc_trex_FifthAmendmentAndRestatedAgreementMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_FifthAmendmentAndRestatedAgreementMember" xml:lang="en-US">Fifth Amendment And Restated Agreement [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_FifthAmendmentAndRestatedAgreementMember" xml:lang="en-US">Fifth Amendment And Restated Agreement [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_FifthAmendmentAndRestatedAgreementMember" xlink:to="lab_trex_FifthAmendmentAndRestatedAgreementMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_FifthAmendmentAndRestatedAgreementMember" xml:lang="en-US">Fifth amendment and restated agreement member.</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="loc_us-gaap_CreditFacilityAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CreditFacilityAxis" xml:lang="en-US">Credit Facility [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CreditFacilityAxis" xml:lang="en-US">Credit Facility [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityAxis" xlink:to="lab_us-gaap_CreditFacilityAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaap_CreditFacilityDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CreditFacilityDomain" xml:lang="en-US">Credit Facility [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CreditFacilityDomain" xml:lang="en-US">Credit Facility [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityDomain" xlink:to="lab_us-gaap_CreditFacilityDomain" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_RevolvingBLoanMember" xlink:label="loc_trex_RevolvingBLoanMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_RevolvingBLoanMember" xml:lang="en-US">Revolving B Loan [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_RevolvingBLoanMember" xml:lang="en-US">Revolving B Loan [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_RevolvingBLoanMember" xlink:to="lab_trex_RevolvingBLoanMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_RevolvingBLoanMember" xml:lang="en-US">Revolving b loan.</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xml:lang="en-US">Revolving Credit Facility [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xml:lang="en-US">Revolving Credit Facility [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevolvingCreditFacilityMember" xlink:to="lab_us-gaap_RevolvingCreditFacilityMember" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_CreditFacilityOneAxis" xlink:label="loc_trex_CreditFacilityOneAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_CreditFacilityOneAxis" xml:lang="en-US">Credit Facility One [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_CreditFacilityOneAxis" xml:lang="en-US">Credit Facility One [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_CreditFacilityOneAxis" xlink:to="lab_trex_CreditFacilityOneAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_CreditFacilityOneAxis" xml:lang="en-US">Credit facility one axis.</label>
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_CreditFacilityOneDomain" xlink:label="loc_trex_CreditFacilityOneDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_CreditFacilityOneDomain" xml:lang="en-US">Credit Facility One [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_CreditFacilityOneDomain" xml:lang="en-US">Credit Facility One [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_CreditFacilityOneDomain" xlink:to="lab_trex_CreditFacilityOneDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_CreditFacilityOneDomain" xml:lang="en-US">Credit facility one domain.</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LetterOfCreditMember" xlink:label="loc_us-gaap_LetterOfCreditMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LetterOfCreditMember" xml:lang="en-US">Letter of Credit [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_LetterOfCreditMember" xml:lang="en-US">Letter of Credit [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LetterOfCreditMember" xlink:to="lab_us-gaap_LetterOfCreditMember" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SwinglineLetterOfCreditMember" xlink:label="loc_trex_SwinglineLetterOfCreditMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_SwinglineLetterOfCreditMember" xml:lang="en-US">Swingline Letter Of Credit [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_SwinglineLetterOfCreditMember" xml:lang="en-US">Swingline Letter Of Credit [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_SwinglineLetterOfCreditMember" xlink:to="lab_trex_SwinglineLetterOfCreditMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_SwinglineLetterOfCreditMember" xml:lang="en-US">Swingline letter of credit member.
..</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaap_DebtInstrumentAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentAxis" xml:lang="en-US">Debt Instrument [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentAxis" xml:lang="en-US">Debt Instrument [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentAxis" xlink:to="lab_us-gaap_DebtInstrumentAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaap_DebtInstrumentNameDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentNameDomain" xml:lang="en-US">Debt Instrument, Name [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentNameDomain" xml:lang="en-US">Debt Instrument, Name [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentNameDomain" xlink:to="lab_us-gaap_DebtInstrumentNameDomain" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="loc_us-gaap_LineOfCreditFacilityAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LineOfCreditFacilityAxis" xml:lang="en-US">Lender Name [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityAxis" xlink:to="lab_us-gaap_LineOfCreditFacilityAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="loc_us-gaap_LineOfCreditFacilityLenderDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LineOfCreditFacilityLenderDomain" xml:lang="en-US">Line of Credit Facility, Lender [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="lab_us-gaap_LineOfCreditFacilityLenderDomain" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="loc_us-gaap_LineOfCreditFacilityLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LineOfCreditFacilityLineItems" xml:lang="en-US">Line of Credit Facility [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_LineOfCreditFacilityLineItems" xml:lang="en-US">Line of Credit Facility [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems" xlink:to="lab_us-gaap_LineOfCreditFacilityLineItems" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xml:lang="en-US">Debt Instrument, Basis Spread on Variable Rate</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xml:lang="en-US">Interest rate</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentDescriptionOfVariableRateBasis" xlink:label="loc_us-gaap_DebtInstrumentDescriptionOfVariableRateBasis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentDescriptionOfVariableRateBasis" xml:lang="en-US">Debt Instrument, Description of Variable Rate Basis</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentDescriptionOfVariableRateBasis" xml:lang="en-US">Debt instrument, description of variable rate basis</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentDescriptionOfVariableRateBasis" xlink:to="lab_us-gaap_DebtInstrumentDescriptionOfVariableRateBasis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xml:lang="en-US">Debt Instrument, Interest Rate, Stated Percentage</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xml:lang="en-US">Debt instrument, Interest rate, Stated percentage</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtWeightedAverageInterestRate" xlink:label="loc_us-gaap_DebtWeightedAverageInterestRate" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtWeightedAverageInterestRate" xml:lang="en-US">Debt, Weighted Average Interest Rate</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtWeightedAverageInterestRate" xml:lang="en-US">Debt, Weighted Average Interest Rate</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtWeightedAverageInterestRate" xlink:to="lab_us-gaap_DebtWeightedAverageInterestRate" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCredit" xlink:label="loc_us-gaap_LineOfCredit" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LineOfCredit" xml:lang="en-US">Long-Term Line of Credit</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_LineOfCredit" xml:lang="en-US">Long-Term Line of Credit</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCredit" xlink:to="lab_us-gaap_LineOfCredit" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_LineOfCreditFacilityAdditionalBorrowingCapacity" xlink:label="loc_trex_LineOfCreditFacilityAdditionalBorrowingCapacity" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_LineOfCreditFacilityAdditionalBorrowingCapacity" xml:lang="en-US">Line of Credit Facility Additional Borrowing Capacity</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_LineOfCreditFacilityAdditionalBorrowingCapacity" xml:lang="en-US">Revolving loans in a collective maximum principal amount</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_LineOfCreditFacilityAdditionalBorrowingCapacity" xlink:to="lab_trex_LineOfCreditFacilityAdditionalBorrowingCapacity" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_LineOfCreditFacilityAdditionalBorrowingCapacity" xml:lang="en-US">Line of Credit Facility, Additional Borrowing Capacity.</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityExpirationDate1" xlink:label="loc_us-gaap_LineOfCreditFacilityExpirationDate1" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LineOfCreditFacilityExpirationDate1" xml:lang="en-US">Line of Credit Facility, Expiration Date</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_LineOfCreditFacilityExpirationDate1" xml:lang="en-US">Termination date of the Credit Agreement</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityExpirationDate1" xlink:to="lab_us-gaap_LineOfCreditFacilityExpirationDate1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xml:lang="en-US">Line of Credit Facility, Maximum Borrowing Capacity</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xml:lang="en-US">Revolving loans in a collective maximum principal amount</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xml:lang="en-US">Line of Credit Facility, Remaining Borrowing Capacity</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xml:lang="en-US">Remaining available borrowing capacity</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:to="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_RangeAxis" xml:lang="en-US">Statistical Measurement [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_srt_RangeAxis" xml:lang="en-US">Range [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeAxis" xlink:to="lab_srt_RangeAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_RangeMember" xml:lang="en-US">Statistical Measurement [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_srt_RangeMember" xml:lang="en-US">Range [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeMember" xlink:to="lab_srt_RangeMember" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="loc_srt_MaximumMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_MaximumMember" xml:lang="en-US">Maximum [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_srt_MaximumMember" xml:lang="en-US">Maximum [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MaximumMember" xlink:to="lab_srt_MaximumMember" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="loc_srt_MinimumMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_MinimumMember" xml:lang="en-US">Minimum [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_srt_MinimumMember" xml:lang="en-US">Minimum [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MinimumMember" xlink:to="lab_srt_MinimumMember" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="loc_us-gaap_VariableRateAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_VariableRateAxis" xml:lang="en-US">Variable Rate [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_VariableRateAxis" xml:lang="en-US">Variable Rate [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableRateAxis" xlink:to="lab_us-gaap_VariableRateAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="loc_us-gaap_VariableRateDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_VariableRateDomain" xml:lang="en-US">Variable Rate [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_VariableRateDomain" xml:lang="en-US">Variable Rate [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableRateDomain" xlink:to="lab_us-gaap_VariableRateDomain" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BaseRateMember" xlink:label="loc_us-gaap_BaseRateMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BaseRateMember" xml:lang="en-US">Base Rate [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BaseRateMember" xml:lang="en-US">Base Rate [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BaseRateMember" xlink:to="lab_us-gaap_BaseRateMember" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:label="loc_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xml:lang="en-US">Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xml:lang="en-US">Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:to="lab_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StatementClassOfStockAxis" xml:lang="en-US">Class of Stock [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementClassOfStockAxis" xlink:to="lab_us-gaap_StatementClassOfStockAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ClassOfStockDomain" xml:lang="en-US">Class of Stock [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfStockDomain" xlink:to="lab_us-gaap_ClassOfStockDomain" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LessorOperatingLeaseTermOfContract" xlink:label="loc_us-gaap_LessorOperatingLeaseTermOfContract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LessorOperatingLeaseTermOfContract" xml:lang="en-US">Lessor, Operating Lease, Term of Contract</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_LessorOperatingLeaseTermOfContract" xml:lang="en-US">Operating Lease terms</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeaseTermOfContract" xlink:to="lab_us-gaap_LessorOperatingLeaseTermOfContract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseCost" xlink:label="loc_us-gaap_OperatingLeaseCost" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OperatingLeaseCost" xml:lang="en-US">Operating Lease, Cost</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_OperatingLeaseCost" xml:lang="en-US">Operating lease cost</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseCost" xlink:to="lab_us-gaap_OperatingLeaseCost" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xml:lang="en-US">Operating Lease, Weighted Average Discount Rate, Percent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xml:lang="en-US">Weighted average discount rate</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xml:lang="en-US">Weighted average remaining lease term</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:label="loc_us-gaap_AssetsAndLiabilitiesLesseeAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AssetsAndLiabilitiesLesseeAbstract" xml:lang="en-US">Assets and Liabilities, Lessee [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_AssetsAndLiabilitiesLesseeAbstract" xml:lang="en-US">Operating lease liabilities:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:to="lab_us-gaap_AssetsAndLiabilitiesLesseeAbstract" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities" xlink:label="loc_trex_LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities" xml:lang="en-US">Lessee Operating leases Accrued Expenses And Other Current Liabilities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_trex_LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities" xml:lang="en-US">Accrued expenses and other current liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities" xlink:to="lab_trex_LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities" xml:lang="en-US">Represents accrued expenses and other current liabilities of operating leases</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashFlowOperatingActivitiesLesseeAbstract" xlink:label="loc_us-gaap_CashFlowOperatingActivitiesLesseeAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CashFlowOperatingActivitiesLesseeAbstract" xml:lang="en-US">Cash Flow, Operating Activities, Lessee [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_CashFlowOperatingActivitiesLesseeAbstract" xml:lang="en-US">Supplemental cash flow information</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashFlowOperatingActivitiesLesseeAbstract" xlink:to="lab_us-gaap_CashFlowOperatingActivitiesLesseeAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="loc_us-gaap_OperatingLeasePayments" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OperatingLeasePayments" xml:lang="en-US">Operating Lease, Payments</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_OperatingLeasePayments" xml:lang="en-US">Cash paid for amounts included in the measurement of operating lease liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasePayments" xlink:to="lab_us-gaap_OperatingLeasePayments" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xml:lang="en-US">Right-of-Use Asset Obtained in Exchange for Operating Lease Liability</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xml:lang="en-US">Operating ROU assets obtained in exchange for lease liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaap_OperatingLeaseLiability" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OperatingLeaseLiability" xml:lang="en-US">Operating Lease, Liability</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_OperatingLeaseLiability" xml:lang="en-US">Total operating lease liabilities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OperatingLeaseLiability" xml:lang="en-US">Total operating lease liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiability" xlink:to="lab_us-gaap_OperatingLeaseLiability" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SupplementalBalanceSheetInformationAbstract" xlink:label="loc_trex_SupplementalBalanceSheetInformationAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_SupplementalBalanceSheetInformationAbstract" xml:lang="en-US">Supplemental balance sheet information [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_trex_SupplementalBalanceSheetInformationAbstract" xml:lang="en-US">Supplemental balance sheet information</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_SupplementalBalanceSheetInformationAbstract" xlink:to="lab_trex_SupplementalBalanceSheetInformationAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xml:lang="en-US">Operating Lease Liabilities, Payments Due [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xml:lang="en-US">Total lease payments</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due after Year Five</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xml:lang="en-US">Thereafter</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Next Twelve Months</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xml:lang="en-US">2025</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Four</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xml:lang="en-US">2028</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Three</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xml:lang="en-US">2027</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Two</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xml:lang="en-US">2026</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xml:lang="en-US">2024</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xml:lang="en-US">Less imputed interest</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfTreasuryStockTable" xlink:label="loc_us-gaap_ClassOfTreasuryStockTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ClassOfTreasuryStockTable" xml:lang="en-US">Class of Treasury Stock [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ClassOfTreasuryStockTable" xml:lang="en-US">Class of Treasury Stock [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfTreasuryStockTable" xlink:to="lab_us-gaap_ClassOfTreasuryStockTable" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityClassOfTreasuryStockLineItems" xlink:label="loc_us-gaap_EquityClassOfTreasuryStockLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EquityClassOfTreasuryStockLineItems" xml:lang="en-US">Equity, Class of Treasury Stock [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EquityClassOfTreasuryStockLineItems" xml:lang="en-US">Equity, Class of Treasury Stock [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="lab_us-gaap_EquityClassOfTreasuryStockLineItems" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares" xml:lang="en-US">Stock Repurchased During Period, Shares</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares" xml:lang="en-US">Stock repurchased during period, shares</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodShares" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:label="loc_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xml:lang="en-US">Stock Repurchase Program, Number of Shares Authorized to be Repurchased</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xml:lang="en-US">Common stock repurchase program, authorized shares</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:to="lab_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockSharesAcquired" xlink:label="loc_us-gaap_TreasuryStockSharesAcquired" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_TreasuryStockSharesAcquired" xml:lang="en-US">Treasury Stock, Shares, Acquired</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_TreasuryStockSharesAcquired" xml:lang="en-US">Number of shares repurchased by the Company</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockSharesAcquired" xlink:to="lab_us-gaap_TreasuryStockSharesAcquired" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareRepurchaseProgramAxis" xml:lang="en-US">Share Repurchase Program [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareRepurchaseProgramAxis" xml:lang="en-US">Share Repurchase Program [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis" xlink:to="lab_us-gaap_ShareRepurchaseProgramAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareRepurchaseProgramDomain" xml:lang="en-US">Share Repurchase Program [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareRepurchaseProgramDomain" xml:lang="en-US">Share Repurchase Program [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain" xlink:to="lab_us-gaap_ShareRepurchaseProgramDomain" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_TwoThousandEighteenStockRepurchaseProgramMember" xlink:label="loc_trex_TwoThousandEighteenStockRepurchaseProgramMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_TwoThousandEighteenStockRepurchaseProgramMember" xml:lang="en-US">Two Thousand Eighteen Stock Repurchase Program [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_trex_TwoThousandEighteenStockRepurchaseProgramMember" xml:lang="en-US">2018 Stock Repurchase Program [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_TwoThousandEighteenStockRepurchaseProgramMember" xlink:to="lab_trex_TwoThousandEighteenStockRepurchaseProgramMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_TwoThousandEighteenStockRepurchaseProgramMember" xml:lang="en-US">Two thousand eighteen stock repurchase program.</label>
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_TwoThousandTwentyThreeStockRepurchaseProgramMember" xlink:label="loc_trex_TwoThousandTwentyThreeStockRepurchaseProgramMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_TwoThousandTwentyThreeStockRepurchaseProgramMember" xml:lang="en-US">Two Thousand Twenty Three Stock Repurchase Program [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_TwoThousandTwentyThreeStockRepurchaseProgramMember" xml:lang="en-US">2023 Stock Repurchase Program [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_TwoThousandTwentyThreeStockRepurchaseProgramMember" xlink:to="lab_trex_TwoThousandTwentyThreeStockRepurchaseProgramMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_TwoThousandTwentyThreeStockRepurchaseProgramMember" xml:lang="en-US">2023 stock repurchase program member.</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockholdersEquityNoteAbstract" xml:lang="en-US">Stockholders' Equity Note [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract" xlink:to="lab_us-gaap_StockholdersEquityNoteAbstract" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ComponentsOfBasicAndDilutedEarningPerShareTable" xlink:label="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_ComponentsOfBasicAndDilutedEarningPerShareTable" xml:lang="en-US">Components Of Basic And Diluted Earning Per Share [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_ComponentsOfBasicAndDilutedEarningPerShareTable" xml:lang="en-US">Components Of Basic And Diluted Earning Per Share [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareTable" xlink:to="lab_trex_ComponentsOfBasicAndDilutedEarningPerShareTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_ComponentsOfBasicAndDilutedEarningPerShareTable" xml:lang="en-US">Components Of Basic And Diluted Earning Per Share [Table]</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember" xlink:label="loc_us-gaap_RestrictedStockMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RestrictedStockMember" xml:lang="en-US">Restricted Stock [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_RestrictedStockMember" xml:lang="en-US">Restricted stock [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockMember" xlink:to="lab_us-gaap_RestrictedStockMember" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_StockAppreciationRightsMember" xlink:label="loc_trex_StockAppreciationRightsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_StockAppreciationRightsMember" xml:lang="en-US">Stock Appreciation Rights [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_trex_StockAppreciationRightsMember" xml:lang="en-US">Stock appreciation rights [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_StockAppreciationRightsMember" xlink:to="lab_trex_StockAppreciationRightsMember" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems" xlink:label="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems" xml:lang="en-US">Components Of Basic And Diluted Earning Per Share [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems" xml:lang="en-US">Components Of Basic And Diluted Earning Per Share [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems" xlink:to="lab_trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems" xml:lang="en-US">Components Of Basic And Diluted Earning Per Share [Line Items]</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAbstract" xlink:label="loc_us-gaap_NetIncomeLossAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NetIncomeLossAbstract" xml:lang="en-US">Net Income (Loss) Attributable to Parent [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_NetIncomeLossAbstract" xml:lang="en-US">Numerator:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLossAbstract" xlink:to="lab_us-gaap_NetIncomeLossAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" xml:lang="en-US">Incremental Weighted Average Shares Attributable to Dilutive Effect [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" xml:lang="en-US">Effect of dilutive securities:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" xlink:to="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xml:lang="en-US">Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xml:lang="en-US">Dilutive securities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xml:lang="en-US">Denominator:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xml:lang="en-US">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xml:lang="en-US">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xml:lang="en-US">Antidilutive Securities [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xml:lang="en-US">Antidilutive Securities [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AntidilutiveSecuritiesNameDomain" xml:lang="en-US">Antidilutive Securities, Name [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AntidilutiveSecuritiesNameDomain" xml:lang="en-US">Antidilutive Securities, Name [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="lab_us-gaap_AntidilutiveSecuritiesNameDomain" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockAppreciationRightsSARSMember" xlink:label="loc_us-gaap_StockAppreciationRightsSARSMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/definitionGuidance" xlink:label="lab_us-gaap_StockAppreciationRightsSARSMember" xml:lang="en-US">Stock appreciation rights [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/presentationGuidance" xlink:label="lab_us-gaap_StockAppreciationRightsSARSMember" xml:lang="en-US">Stock Appreciation Rights [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_StockAppreciationRightsSARSMember" xml:lang="en-US">Stock Appreciation Rights [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockAppreciationRightsSARSMember" xlink:to="lab_us-gaap_StockAppreciationRightsSARSMember" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xml:lang="en-US">Anti-dilutive securities excluded from the computation of diluted earnings per share</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_PerformanceBasedRestrictedStockAdjustmentMember" xlink:label="loc_trex_PerformanceBasedRestrictedStockAdjustmentMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_PerformanceBasedRestrictedStockAdjustmentMember" xml:lang="en-US">Performance Based Restricted Stock Adjustment [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_PerformanceBasedRestrictedStockAdjustmentMember" xlink:to="lab_trex_PerformanceBasedRestrictedStockAdjustmentMember" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember" xlink:label="loc_trex_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember" xml:lang="en-US">Performance Based Restricted Stock And Performance Based Restricted Stock Units [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember" xml:lang="en-US">Performance-Based Restricted Stock and Performance-Based Restricted Stock Units [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember" xlink:to="lab_trex_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember" xml:lang="en-US">Performance based restricted stock and performance based restricted stock units.</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaap_PlanNameAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PlanNameAxis" xml:lang="en-US">Plan Name [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PlanNameAxis" xml:lang="en-US">Plan Name [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameAxis" xlink:to="lab_us-gaap_PlanNameAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaap_PlanNameDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PlanNameDomain" xml:lang="en-US">Plan Name [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PlanNameDomain" xml:lang="en-US">Plan Name [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameDomain" xlink:to="lab_us-gaap_PlanNameDomain" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_TwoThousandFourteenStockIncentivePlanMember" xlink:label="loc_trex_TwoThousandFourteenStockIncentivePlanMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_TwoThousandFourteenStockIncentivePlanMember" xml:lang="en-US">Two Thousand Fourteen Stock Incentive Plan [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_TwoThousandFourteenStockIncentivePlanMember" xml:lang="en-US">2014 Stock Incentive Plan [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_TwoThousandFourteenStockIncentivePlanMember" xlink:to="lab_trex_TwoThousandFourteenStockIncentivePlanMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_TwoThousandFourteenStockIncentivePlanMember" xml:lang="en-US">Two Thousand Fourteen Stock Incentive Plan [Member]</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xml:lang="en-US">Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xml:lang="en-US">Unrecognized compensation cost related to unvested awards</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xml:lang="en-US">Number of shares or rights issued</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/definitionGuidance" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xml:lang="en-US">Stock Awards Granted</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsMethodUsed" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsMethodUsed" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsMethodUsed" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Method Used</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsMethodUsed" xml:lang="en-US">Fair value assumptions method used</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsMethodUsed" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsMethodUsed" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xml:lang="en-US">Total aggregate number of shares of common stock that may be issued</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis" xlink:label="loc_us-gaap_VestingAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_VestingAxis" xml:lang="en-US">Vesting [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_VestingAxis" xml:lang="en-US">Vesting [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VestingAxis" xlink:to="lab_us-gaap_VestingAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="loc_us-gaap_VestingDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_VestingDomain" xml:lang="en-US">Vesting [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_VestingDomain" xml:lang="en-US">Vesting [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VestingDomain" xlink:to="lab_us-gaap_VestingDomain" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_EmployeeStockPurchasePlanMember" xlink:label="loc_trex_EmployeeStockPurchasePlanMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_EmployeeStockPurchasePlanMember" xml:lang="en-US">Employee Stock Purchase Plan [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_EmployeeStockPurchasePlanMember" xml:lang="en-US">Employee Stock Purchase Plan [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_EmployeeStockPurchasePlanMember" xlink:to="lab_trex_EmployeeStockPurchasePlanMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_EmployeeStockPurchasePlanMember" xml:lang="en-US">Employee stock purchase plan.</label>
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_PerformanceBasedRestrictedStockAndrestrictedStockunitsMember" xlink:label="loc_trex_PerformanceBasedRestrictedStockAndrestrictedStockunitsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_PerformanceBasedRestrictedStockAndrestrictedStockunitsMember" xml:lang="en-US">Performance Based Restricted Stock And Restricted Stock Units [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_PerformanceBasedRestrictedStockAndrestrictedStockunitsMember" xml:lang="en-US">Performance-Based Restricted Stock and Restricted Stock Units [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_PerformanceBasedRestrictedStockAndrestrictedStockunitsMember" xlink:to="lab_trex_PerformanceBasedRestrictedStockAndrestrictedStockunitsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_PerformanceBasedRestrictedStockAndrestrictedStockunitsMember" xml:lang="en-US">Performance&#8203; based &#8203;restricted&#8203; stock&#8203; and&#8203; restricted&#8203; stock&#8203; units.&#8203;</label>
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_TimeBasedRestrictedStockandRestrictedstockUnitsMember" xlink:label="loc_trex_TimeBasedRestrictedStockandRestrictedstockUnitsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_TimeBasedRestrictedStockandRestrictedstockUnitsMember" xml:lang="en-US">Time Based Restricted Stock And Restricted Stock Units [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_TimeBasedRestrictedStockandRestrictedstockUnitsMember" xml:lang="en-US">Time-Based Restricted Stock and Restricted Stock Units [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_TimeBasedRestrictedStockandRestrictedstockUnitsMember" xlink:to="lab_trex_TimeBasedRestrictedStockandRestrictedstockUnitsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_TimeBasedRestrictedStockandRestrictedstockUnitsMember" xml:lang="en-US">Time&#8203; based&#8203; restricted&#8203; stock &#8203;and&#8203; restricted &#8203;stock&#8203; units.</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xml:lang="en-US">Allocated Share-based Compensation Expense</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xml:lang="en-US">Stock-based compensation expense</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="lab_us-gaap_AllocatedShareBasedCompensationExpense" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyTable" xlink:label="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyTable" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions And Methodology [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyTable" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions And Methodology [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyTable" xlink:to="lab_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyTable" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions And Methodology [Table]</label>
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems" xlink:label="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems" xml:lang="en-US">Share Based Compensation Arrangement by Share Based Payment Award Fair Value Assumptions and Methodology [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems" xml:lang="en-US">Share Based Compensation Arrangement by Share Based Payment Award Fair Value Assumptions and Methodology [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems" xlink:to="lab_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems" xml:lang="en-US">Share Based Compensation Arrangement by Share Based Payment Award Fair Value Assumptions and Methodology [Line Items]</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xml:lang="en-US">Weighted-average fair value of grants</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xml:lang="en-US">Dividend yield</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xml:lang="en-US">Expected term (years)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xml:lang="en-US">Expected volatility</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xml:lang="en-US">Average risk-free interest rate</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_PerformanceBasedRestrictedStockUnitsMember" xlink:label="loc_trex_PerformanceBasedRestrictedStockUnitsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_PerformanceBasedRestrictedStockUnitsMember" xml:lang="en-US">Performance Based Restricted Stock Units [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_trex_PerformanceBasedRestrictedStockUnitsMember" xml:lang="en-US">Performance Based Restricted Stock Units [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_PerformanceBasedRestrictedStockUnitsMember" xlink:to="lab_trex_PerformanceBasedRestrictedStockUnitsMember" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_TimeBasedRestrictedStockUnitsMember" xlink:label="loc_trex_TimeBasedRestrictedStockUnitsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_TimeBasedRestrictedStockUnitsMember" xml:lang="en-US">Time Based Restricted Stock Units [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_trex_TimeBasedRestrictedStockUnitsMember" xml:lang="en-US">Time Based Restricted Stock Units [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_TimeBasedRestrictedStockUnitsMember" xlink:to="lab_trex_TimeBasedRestrictedStockUnitsMember" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice" xlink:label="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Non Options Equity Instruments Granted Weighted Average Grant Price</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice" xml:lang="en-US">Weighted-Average Grant Price Per Share</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice" xlink:to="lab_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice" xml:lang="en-US">Share based compensation arrangement by share based payment award non options equity instruments granted weighted average grant price.</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="loc_us-gaap_IncomeTaxContingencyTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxContingencyTable" xml:lang="en-US">Income Tax Contingency [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxContingencyTable" xml:lang="en-US">Income Tax Contingency [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxContingencyTable" xlink:to="lab_us-gaap_IncomeTaxContingencyTable" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxAuthorityNameAxis" xml:lang="en-US">Income Tax Authority, Name [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis" xlink:to="lab_us-gaap_IncomeTaxAuthorityNameAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxAuthorityNameDomain" xml:lang="en-US">Income Tax Authority, Name [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain" xlink:to="lab_us-gaap_IncomeTaxAuthorityNameDomain" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InternalRevenueServiceIRSMember" xlink:label="loc_us-gaap_InternalRevenueServiceIRSMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InternalRevenueServiceIRSMember" xml:lang="en-US">Internal Revenue Service (IRS) [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_InternalRevenueServiceIRSMember" xml:lang="en-US">Federal Tax Jurisdiction [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InternalRevenueServiceIRSMember" xlink:to="lab_us-gaap_InternalRevenueServiceIRSMember" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="loc_us-gaap_IncomeTaxContingencyLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxContingencyLineItems" xml:lang="en-US">Income Tax Contingency [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxContingencyLineItems" xml:lang="en-US">Income Tax Contingency [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems" xlink:to="lab_us-gaap_IncomeTaxContingencyLineItems" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xml:lang="en-US">Deferred Tax Assets, Valuation Allowance</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xml:lang="en-US">Valuation allowance</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="lab_us-gaap_DeferredTaxAssetsValuationAllowance" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xml:lang="en-US">Effective tax rate</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ExcessTaxBenefitsFromStockBasedAwards" xlink:label="loc_trex_ExcessTaxBenefitsFromStockBasedAwards" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_ExcessTaxBenefitsFromStockBasedAwards" xml:lang="en-US">Excess Tax Benefits From Stock Based Awards</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_ExcessTaxBenefitsFromStockBasedAwards" xml:lang="en-US">Excess tax benefits from stock based awards</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_ExcessTaxBenefitsFromStockBasedAwards" xlink:to="lab_trex_ExcessTaxBenefitsFromStockBasedAwards" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_ExcessTaxBenefitsFromStockBasedAwards" xml:lang="en-US">Excess Tax Benefits From Stock Based Awards.</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OpenTaxYear" xlink:label="loc_us-gaap_OpenTaxYear" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OpenTaxYear" xml:lang="en-US">Open Tax Year</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OpenTaxYear" xml:lang="en-US">Tax years subject to examination</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OpenTaxYear" xlink:to="lab_us-gaap_OpenTaxYear" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodAxis" xlink:label="loc_us-gaap_TaxPeriodAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_TaxPeriodAxis" xml:lang="en-US">Tax Period [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxPeriodAxis" xlink:to="lab_us-gaap_TaxPeriodAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodDomain" xlink:label="loc_us-gaap_TaxPeriodDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_TaxPeriodDomain" xml:lang="en-US">Tax Period [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxPeriodDomain" xlink:to="lab_us-gaap_TaxPeriodDomain" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarliestTaxYearMember" xlink:label="loc_us-gaap_EarliestTaxYearMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EarliestTaxYearMember" xml:lang="en-US">Earliest Tax Year [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarliestTaxYearMember" xlink:to="lab_us-gaap_EarliestTaxYearMember" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LatestTaxYearMember" xlink:label="loc_us-gaap_LatestTaxYearMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LatestTaxYearMember" xml:lang="en-US">Latest Tax Year [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LatestTaxYearMember" xlink:to="lab_us-gaap_LatestTaxYearMember" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ScheduleOfCommitmentsAndContingenciesTable" xlink:label="loc_trex_ScheduleOfCommitmentsAndContingenciesTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_ScheduleOfCommitmentsAndContingenciesTable" xml:lang="en-US">Schedule Of Commitments And Contingencies [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_ScheduleOfCommitmentsAndContingenciesTable" xml:lang="en-US">Schedule Of Commitments And Contingencies [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesTable" xlink:to="lab_trex_ScheduleOfCommitmentsAndContingenciesTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_ScheduleOfCommitmentsAndContingenciesTable" xml:lang="en-US">Schedule Of Commitments And Contingencies [Table]</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContingentConsiderationByTypeAxis" xlink:label="loc_us-gaap_ContingentConsiderationByTypeAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ContingentConsiderationByTypeAxis" xml:lang="en-US">Contingent Consideration by Type [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ContingentConsiderationByTypeAxis" xml:lang="en-US">Contingent Consideration by Type [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContingentConsiderationByTypeAxis" xlink:to="lab_us-gaap_ContingentConsiderationByTypeAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="loc_us-gaap_ContingentConsiderationTypeDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ContingentConsiderationTypeDomain" xml:lang="en-US">Contingent Consideration Type [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ContingentConsiderationTypeDomain" xml:lang="en-US">Contingent Consideration Type [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContingentConsiderationTypeDomain" xlink:to="lab_us-gaap_ContingentConsiderationTypeDomain" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="loc_us-gaap_GuaranteeObligationsByNatureAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_GuaranteeObligationsByNatureAxis" xml:lang="en-US">Guarantor Obligations, Nature [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_GuaranteeObligationsByNatureAxis" xml:lang="en-US">Guarantor Obligations, Nature [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GuaranteeObligationsByNatureAxis" xlink:to="lab_us-gaap_GuaranteeObligationsByNatureAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="loc_us-gaap_GuaranteeObligationsNatureDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_GuaranteeObligationsNatureDomain" xml:lang="en-US">Guarantor Obligations, Nature [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_GuaranteeObligationsNatureDomain" xml:lang="en-US">Guarantor Obligations, Nature [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GuaranteeObligationsNatureDomain" xlink:to="lab_us-gaap_GuaranteeObligationsNatureDomain" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_CommercialUseMember" xlink:label="loc_trex_CommercialUseMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_CommercialUseMember" xml:lang="en-US">Commercial Use [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_CommercialUseMember" xml:lang="en-US">Commercial Use [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_CommercialUseMember" xlink:to="lab_trex_CommercialUseMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_CommercialUseMember" xml:lang="en-US">Commercial use.</label>
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ResidentialAndCommercialUseMember" xlink:label="loc_trex_ResidentialAndCommercialUseMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_ResidentialAndCommercialUseMember" xml:lang="en-US">Residential and Commercial Use [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_ResidentialAndCommercialUseMember" xlink:to="lab_trex_ResidentialAndCommercialUseMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_ResidentialAndCommercialUseMember" xml:lang="en-US">Residential and commercial use member.</label>
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ResidentialUseMember" xlink:label="loc_trex_ResidentialUseMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_ResidentialUseMember" xml:lang="en-US">Residential Use [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_ResidentialUseMember" xml:lang="en-US">Residential Use [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_ResidentialUseMember" xlink:to="lab_trex_ResidentialUseMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_ResidentialUseMember" xml:lang="en-US">Residential use.</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xml:lang="en-US">Category of Item Purchased [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xml:lang="en-US">Category of Item Purchased [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xlink:to="lab_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xml:lang="en-US">Long-term Purchase Commitment, Category of Item Purchased [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xml:lang="en-US">Long-term Purchase Commitment, Category of Item Purchased [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:to="lab_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srt_ProductOrServiceAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_ProductOrServiceAxis" xml:lang="en-US">Product and Service [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductOrServiceAxis" xlink:to="lab_srt_ProductOrServiceAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_ProductsAndServicesDomain" xml:lang="en-US">Product and Service [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductsAndServicesDomain" xlink:to="lab_srt_ProductsAndServicesDomain" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember" xlink:label="loc_trex_EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember" xml:lang="en-US">Enhance Decking And Transcend, Select, Enhance And Signature Railing [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember" xlink:to="lab_trex_EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember" xml:lang="en-US">Enhance decking and transcend, select, enhance and signature railing.</label>
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SelectDeckingAndUniversalFasciaMember" xlink:label="loc_trex_SelectDeckingAndUniversalFasciaMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_SelectDeckingAndUniversalFasciaMember" xml:lang="en-US">Select Decking And Universal Fascia [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_SelectDeckingAndUniversalFasciaMember" xlink:to="lab_trex_SelectDeckingAndUniversalFasciaMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_SelectDeckingAndUniversalFasciaMember" xml:lang="en-US">Select decking and universal fascia.</label>
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SignatureRailingAndTranscendCladdingMember" xlink:label="loc_trex_SignatureRailingAndTranscendCladdingMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_SignatureRailingAndTranscendCladdingMember" xml:lang="en-US">Signature Railing And Transcend Cladding [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_SignatureRailingAndTranscendCladdingMember" xlink:to="lab_trex_SignatureRailingAndTranscendCladdingMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_SignatureRailingAndTranscendCladdingMember" xml:lang="en-US">Signature railing and transcend cladding.</label>
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SignatureRailingMember" xlink:label="loc_trex_SignatureRailingMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_SignatureRailingMember" xml:lang="en-US">Signature Railing [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_SignatureRailingMember" xlink:to="lab_trex_SignatureRailingMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_SignatureRailingMember" xml:lang="en-US">Signature railing [Member]</label>
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_TranscendDeckingMember" xlink:label="loc_trex_TranscendDeckingMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_TranscendDeckingMember" xml:lang="en-US">Transcend Decking [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_TranscendDeckingMember" xlink:to="lab_trex_TranscendDeckingMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_TranscendDeckingMember" xml:lang="en-US">Transcend decking.</label>
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ScheduleOfCommitmentsAndContingenciesLineItems" xlink:label="loc_trex_ScheduleOfCommitmentsAndContingenciesLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_ScheduleOfCommitmentsAndContingenciesLineItems" xml:lang="en-US">Schedule Of Commitments And Contingencies [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_ScheduleOfCommitmentsAndContingenciesLineItems" xml:lang="en-US">Schedule Of Commitments And Contingencies [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesLineItems" xlink:to="lab_trex_ScheduleOfCommitmentsAndContingenciesLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_ScheduleOfCommitmentsAndContingenciesLineItems" xml:lang="en-US">Schedule of commitments and contingencies.</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AreaOfLand" xlink:label="loc_us-gaap_AreaOfLand" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AreaOfLand" xml:lang="en-US">Area of Land</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AreaOfLand" xlink:to="lab_us-gaap_AreaOfLand" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_PercentSensitivityChangeInExpectedSurfaceFlakingClaims" xlink:label="loc_trex_PercentSensitivityChangeInExpectedSurfaceFlakingClaims" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_PercentSensitivityChangeInExpectedSurfaceFlakingClaims" xml:lang="en-US">Percent Sensitivity Change In Expected Surface Flaking Claims</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_PercentSensitivityChangeInExpectedSurfaceFlakingClaims" xml:lang="en-US">Percentage change in warranty claims used as a threshold for disclosure</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_PercentSensitivityChangeInExpectedSurfaceFlakingClaims" xlink:to="lab_trex_PercentSensitivityChangeInExpectedSurfaceFlakingClaims" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_PercentSensitivityChangeInExpectedSurfaceFlakingClaims" xml:lang="en-US">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.</label>
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SensitivityChangeInSurfaceFlakingWarrantyReserve" xlink:label="loc_trex_SensitivityChangeInSurfaceFlakingWarrantyReserve" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_SensitivityChangeInSurfaceFlakingWarrantyReserve" xml:lang="en-US">Sensitivity Change In Surface Flaking Warranty Reserve</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_SensitivityChangeInSurfaceFlakingWarrantyReserve" xml:lang="en-US">Change in warranty reserve for disclosure purposes only</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_SensitivityChangeInSurfaceFlakingWarrantyReserve" xlink:to="lab_trex_SensitivityChangeInSurfaceFlakingWarrantyReserve" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_SensitivityChangeInSurfaceFlakingWarrantyReserve" xml:lang="en-US">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.</label>
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_WarrantyPeriod" xlink:label="loc_trex_WarrantyPeriod" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_WarrantyPeriod" xml:lang="en-US">Warranty Period</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_WarrantyPeriod" xml:lang="en-US">Warranty period</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_WarrantyPeriod" xlink:to="lab_trex_WarrantyPeriod" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_WarrantyPeriod" xml:lang="en-US">The number of years the Company warrants that its products will be free from material defects in workmanship and materials.</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplyCommitmentAxis" xlink:label="loc_us-gaap_SupplyCommitmentAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SupplyCommitmentAxis" xml:lang="en-US">Supply Commitment [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SupplyCommitmentAxis" xlink:to="lab_us-gaap_SupplyCommitmentAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplyCommitmentArrangementMember" xlink:label="loc_us-gaap_SupplyCommitmentArrangementMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SupplyCommitmentArrangementMember" xml:lang="en-US">Supply Commitment Arrangement [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SupplyCommitmentArrangementMember" xlink:to="lab_us-gaap_SupplyCommitmentArrangementMember" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember" xlink:label="loc_trex_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember" xml:lang="en-US">Products Sold on or After January One, Two Thousand and Twenty Three [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember" xlink:to="lab_trex_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember" xml:lang="en-US">Products sold on or after january&#160;one, two thousand and twenty three [Member].</label>
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember" xlink:label="loc_trex_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember" xml:lang="en-US">Products Sold Prior to January One, Two Thousand and Twenty Three [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember" xlink:to="lab_trex_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember" xml:lang="en-US">Products sold prior to&#160;january&#160;one, two thousand and twenty three {Member].</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesDomain" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesDomain" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesDomain" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SurfaceFlakingWarrantyReserveMember" xlink:label="loc_trex_SurfaceFlakingWarrantyReserveMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_SurfaceFlakingWarrantyReserveMember" xml:lang="en-US">Surface Flaking Warranty Reserve [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_SurfaceFlakingWarrantyReserveMember" xml:lang="en-US">Surface Flaking Warranty Reserve [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_SurfaceFlakingWarrantyReserveMember" xlink:to="lab_trex_SurfaceFlakingWarrantyReserveMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_SurfaceFlakingWarrantyReserveMember" xml:lang="en-US">Surface Flaking Warranty Reserve [Member]</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyLiabilityTable" xlink:label="loc_us-gaap_ProductWarrantyLiabilityTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ProductWarrantyLiabilityTable" xml:lang="en-US">Product Warranty Liability [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ProductWarrantyLiabilityTable" xml:lang="en-US">Product Warranty Liability [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyLiabilityTable" xlink:to="lab_us-gaap_ProductWarrantyLiabilityTable" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ProductWarrantyMember" xlink:label="loc_trex_ProductWarrantyMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_ProductWarrantyMember" xml:lang="en-US">Product Warranty [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_ProductWarrantyMember" xml:lang="en-US">Product Warranty [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_ProductWarrantyMember" xlink:to="lab_trex_ProductWarrantyMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_ProductWarrantyMember" xml:lang="en-US">Product warranty.</label>
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SurfaceFlakingMember" xlink:label="loc_trex_SurfaceFlakingMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_trex_SurfaceFlakingMember" xml:lang="en-US">Surface Flaking [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_trex_SurfaceFlakingMember" xml:lang="en-US">Surface Flaking [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_trex_SurfaceFlakingMember" xlink:to="lab_trex_SurfaceFlakingMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_trex_SurfaceFlakingMember" xml:lang="en-US">Surface flaking.</label>
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyLiabilityLineItems" xlink:label="loc_us-gaap_ProductWarrantyLiabilityLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ProductWarrantyLiabilityLineItems" xml:lang="en-US">Product Warranty Liability [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ProductWarrantyLiabilityLineItems" xml:lang="en-US">Product Warranty Liability [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="lab_us-gaap_ProductWarrantyLiabilityLineItems" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardProductWarrantyAccrual" xlink:label="loc_us-gaap_StandardProductWarrantyAccrual" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StandardProductWarrantyAccrual" xml:lang="en-US">Standard Product Warranty Accrual</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="lab_us-gaap_StandardProductWarrantyAccrual" xml:lang="en-US">Ending balance</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="lab_us-gaap_StandardProductWarrantyAccrual" xml:lang="en-US">Beginning balance</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyAccrual" xlink:to="lab_us-gaap_StandardProductWarrantyAccrual" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardProductWarrantyAccrualPayments" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPayments" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualPayments" xml:lang="en-US">Standard Product Warranty Accrual, Decrease for Payments</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualPayments" xml:lang="en-US">Settlements made during the period</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyAccrualPayments" xlink:to="lab_us-gaap_StandardProductWarrantyAccrualPayments" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xml:lang="en-US">Standard Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xml:lang="en-US">Provisions and changes in estimates</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:to="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" />
</labelLink>
</linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>9
<FILENAME>trex-20240331_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by DFIN XBRL Instance Document - http://www.dfinsolutions.com/ - Version R3.0 - on 08-May-2024 [09:46:53] {PM}-->
<linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#CoverPage" roleURI="http://www.trex.com/role/CoverPage" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#CondensedConsolidatedStatementsOfComprehensiveIncome" roleURI="http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#CondensedConsolidatedBalanceSheets" roleURI="http://www.trex.com/role/CondensedConsolidatedBalanceSheets" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#CondensedConsolidatedBalanceSheetsParenthetical" roleURI="http://www.trex.com/role/CondensedConsolidatedBalanceSheetsParenthetical" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#CondensedConsolidatedStatementsOfChangesInStockholdersEquity" roleURI="http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#CondensedConsolidatedStatementsOfCashFlows" roleURI="http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#BusinessAndOrganization" roleURI="http://www.trex.com/role/BusinessAndOrganization" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#BasisOfPresentation" roleURI="http://www.trex.com/role/BasisOfPresentation" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#RecentlyAdoptedAccountingStandards" roleURI="http://www.trex.com/role/RecentlyAdoptedAccountingStandards" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#NewAccountingStandardsNotYetAdopted" roleURI="http://www.trex.com/role/NewAccountingStandardsNotYetAdopted" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#Inventories" roleURI="http://www.trex.com/role/Inventories" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#PrepaidExpensesAndOtherAssets" roleURI="http://www.trex.com/role/PrepaidExpensesAndOtherAssets" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#GoodwillAndOtherIntangibleAssetsNet" roleURI="http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNet" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#AccruedExpensesAndOtherLiabilities" roleURI="http://www.trex.com/role/AccruedExpensesAndOtherLiabilities" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#Debt" roleURI="http://www.trex.com/role/Debt" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#Leases" roleURI="http://www.trex.com/role/Leases" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#FinancialInstruments" roleURI="http://www.trex.com/role/FinancialInstruments" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#StockholdersEquity" roleURI="http://www.trex.com/role/StockholdersEquity" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#RevenueFromContractsWithCustomers" roleURI="http://www.trex.com/role/RevenueFromContractsWithCustomers" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#StockBasedCompensation" roleURI="http://www.trex.com/role/StockBasedCompensation" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#IncomeTaxes" roleURI="http://www.trex.com/role/IncomeTaxes" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#Seasonality" roleURI="http://www.trex.com/role/Seasonality" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#CommitmentsAndContingencies" roleURI="http://www.trex.com/role/CommitmentsAndContingencies" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#InventoriesTables" roleURI="http://www.trex.com/role/InventoriesTables" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#PrepaidExpensesAndOtherAssetsTables" roleURI="http://www.trex.com/role/PrepaidExpensesAndOtherAssetsTables" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#AccruedExpensesAndOtherLiabilitiesTables" roleURI="http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesTables" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#LeasesTables" roleURI="http://www.trex.com/role/LeasesTables" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#StockholdersEquityTables" roleURI="http://www.trex.com/role/StockholdersEquityTables" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#StockBasedCompensationTables" roleURI="http://www.trex.com/role/StockBasedCompensationTables" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#CommitmentsAndContingenciesTables" roleURI="http://www.trex.com/role/CommitmentsAndContingenciesTables" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#BusinessAndOrganizationAdditionalInformationDetail" roleURI="http://www.trex.com/role/BusinessAndOrganizationAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#InventoriesSummaryOfInventoriesDetail" roleURI="http://www.trex.com/role/InventoriesSummaryOfInventoriesDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#PrepaidExpensesAndOtherAssetsSummaryOfPrepaidExpensesAndOtherAssetsDetail" roleURI="http://www.trex.com/role/PrepaidExpensesAndOtherAssetsSummaryOfPrepaidExpensesAndOtherAssetsDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail" roleURI="http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail" roleURI="http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#DebtAdditionalInformationDetail" roleURI="http://www.trex.com/role/DebtAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#LeasesAdditionalInformationDetail" roleURI="http://www.trex.com/role/LeasesAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#LeasesSupplementalCashFlowInformationToOperatingLeasesDetail" roleURI="http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail" roleURI="http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#StockholdersEquityAdditionalInformationDetail" roleURI="http://www.trex.com/role/StockholdersEquityAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail" roleURI="http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#StockholdersEquityAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareDetail" roleURI="http://www.trex.com/role/StockholdersEquityAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#RevenueFromContractsWithCustomersAdditionalInformationDetail" roleURI="http://www.trex.com/role/RevenueFromContractsWithCustomersAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#StockBasedCompensationAdditionalInformationDetail" roleURI="http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#StockBasedCompensationSummaryOfStockBasedCompensationExpensesDetail" roleURI="http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationExpensesDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail" roleURI="http://www.trex.com/role/StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#StockBasedCompensationSummaryOfStockBasedCompensationGrantsDetail" roleURI="http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationGrantsDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#IncomeTaxesAdditionalInformationDetail" roleURI="http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#CommitmentsAndContingenciesAdditionalInformationDetail" roleURI="http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="trex-20240331.xsd#CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail" roleURI="http://www.trex.com/role/CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail" />
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/CoverPage">
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="loc_dei_CoverAbstract_187796" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="loc_dei_AmendmentFlag_501004" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_AmendmentFlag_501004" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_dei_DocumentFiscalYearFocus_501005" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_DocumentFiscalYearFocus_501005" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="loc_dei_DocumentType_488686" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_DocumentType_488686" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_dei_DocumentFiscalPeriodFocus_501008" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_DocumentFiscalPeriodFocus_501008" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="loc_dei_EntityCentralIndexKey_501007" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityCentralIndexKey_501007" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_dei_CurrentFiscalYearEndDate_501006" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_CurrentFiscalYearEndDate_501006" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="loc_dei_DocumentTransitionReport_488713" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_DocumentTransitionReport_488713" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="loc_dei_EntityRegistrantName_488688" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityRegistrantName_488688" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_dei_DocumentPeriodEndDate_488687" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_DocumentPeriodEndDate_488687" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_dei_EntityCurrentReportingStatus_488692" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityCurrentReportingStatus_488692" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_dei_EntityInteractiveDataCurrent_488710" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityInteractiveDataCurrent_488710" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="loc_dei_TradingSymbol_488704" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_TradingSymbol_488704" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="loc_dei_EntityShellCompany_488693" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityShellCompany_488693" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="loc_dei_EntityFilerCategory_488694" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityFilerCategory_488694" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="loc_dei_EntitySmallBusiness_488695" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntitySmallBusiness_488695" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_dei_EntityEmergingGrowthCompany_488696" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityEmergingGrowthCompany_488696" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_488707" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_488707" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="loc_dei_EntityFileNumber_488689" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityFileNumber_488689" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_dei_EntityIncorporationStateCountryCode_488690" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityIncorporationStateCountryCode_488690" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_dei_EntityTaxIdentificationNumber_488708" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityTaxIdentificationNumber_488708" use="optional" order="20" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_dei_EntityAddressAddressLine1_488700" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityAddressAddressLine1_488700" use="optional" order="21" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_dei_EntityAddressCityOrTown_488702" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityAddressCityOrTown_488702" use="optional" order="22" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_dei_EntityAddressPostalZipCode_488703" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityAddressPostalZipCode_488703" use="optional" order="23" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_dei_EntityAddressStateOrProvince_488701" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityAddressStateOrProvince_488701" use="optional" order="24" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="loc_dei_CityAreaCode_488697" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_CityAreaCode_488697" use="optional" order="25" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="loc_dei_LocalPhoneNumber_488698" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_LocalPhoneNumber_488698" use="optional" order="26" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="loc_dei_Security12bTitle_488705" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_Security12bTitle_488705" use="optional" order="27" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="loc_dei_SecurityExchangeName_488706" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_SecurityExchangeName_488706" use="optional" order="28" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_dei_DocumentQuarterlyReport_2147473646" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_DocumentQuarterlyReport_2147473646" use="optional" order="29" preferredLabel="http://www.xbrl.org/2003/role/label" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaap_IncomeStatementAbstract_22" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_23" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_22" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_23" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_24" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_22" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_24" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaap_GrossProfit_25" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_22" xlink:to="loc_us-gaap_GrossProfit_25" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_26" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_22" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_26" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaap_OperatingIncomeLoss_27" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_22" xlink:to="loc_us-gaap_OperatingIncomeLoss_27" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNet" xlink:label="loc_us-gaap_InterestIncomeExpenseNet_28" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_22" xlink:to="loc_us-gaap_InterestIncomeExpenseNet_28" use="optional" order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_29" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_22" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_29" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_30" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_22" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_30" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_31" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_22" xlink:to="loc_us-gaap_NetIncomeLoss_31" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaap_EarningsPerShareBasic_32" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_22" xlink:to="loc_us-gaap_EarningsPerShareBasic_32" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_33" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_22" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_33" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted_34" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_22" xlink:to="loc_us-gaap_EarningsPerShareDiluted_34" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_35" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_22" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_35" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_36" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_22" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTax_36" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/CondensedConsolidatedBalanceSheets">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_38" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaap_AssetsAbstract_39" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_38" xlink:to="loc_us-gaap_AssetsAbstract_39" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaap_AssetsCurrentAbstract_40" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_39" xlink:to="loc_us-gaap_AssetsCurrentAbstract_40" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_48" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_40" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_48" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_49" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_40" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_49" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_50" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_40" xlink:to="loc_us-gaap_InventoryNet_50" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_51" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_40" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_51" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaap_AssetsCurrent_52" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_40" xlink:to="loc_us-gaap_AssetsCurrent_52" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_44" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_39" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_44" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_377939" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_39" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_377939" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetIncludingGoodwill" xlink:label="loc_us-gaap_IntangibleAssetsNetIncludingGoodwill_45" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_39" xlink:to="loc_us-gaap_IntangibleAssetsNetIncludingGoodwill_45" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_46" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_39" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_46" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets_47" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_39" xlink:to="loc_us-gaap_Assets_47" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_41" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_38" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_41" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_42" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_41" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_42" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaap_AccountsPayableCurrent_59" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_42" xlink:to="loc_us-gaap_AccountsPayableCurrent_59" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" xlink:label="loc_trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty_60" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_42" xlink:to="loc_trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty_60" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardProductWarrantyAccrualCurrent" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualCurrent_61" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_42" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualCurrent_61" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaap_LinesOfCreditCurrent_377943" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_42" xlink:to="loc_us-gaap_LinesOfCreditCurrent_377943" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaap_LiabilitiesCurrent_62" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_42" xlink:to="loc_us-gaap_LiabilitiesCurrent_62" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_53" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_41" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_53" use="optional" order="20" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_377941" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_41" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_377941" use="optional" order="21" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardProductWarrantyAccrualNoncurrent" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualNoncurrent_54" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_41" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualNoncurrent_54" use="optional" order="22" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_55" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_41" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_55" use="optional" order="23" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaap_Liabilities_56" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_41" xlink:to="loc_us-gaap_Liabilities_56" use="optional" order="24" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaap_CommitmentsAndContingencies_57" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_41" xlink:to="loc_us-gaap_CommitmentsAndContingencies_57" use="optional" order="25" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaap_StockholdersEquityAbstract_43" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_41" xlink:to="loc_us-gaap_StockholdersEquityAbstract_43" use="optional" order="26" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="loc_us-gaap_PreferredStockValue_63" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_43" xlink:to="loc_us-gaap_PreferredStockValue_63" use="optional" order="27" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaap_CommonStockValue_64" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_43" xlink:to="loc_us-gaap_CommonStockValue_64" use="optional" order="28" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_65" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_43" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_65" use="optional" order="29" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_66" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_43" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_66" use="optional" order="30" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue" xlink:label="loc_us-gaap_TreasuryStockValue_67" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_43" xlink:to="loc_us-gaap_TreasuryStockValue_67" use="optional" order="31" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_68" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_43" xlink:to="loc_us-gaap_StockholdersEquity_68" use="optional" order="32" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_58" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_41" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_58" use="optional" order="33" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/CondensedConsolidatedBalanceSheetsParenthetical">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_70" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_71" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_70" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_71" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_72" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_70" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_72" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="loc_us-gaap_PreferredStockSharesIssued_73" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_70" xlink:to="loc_us-gaap_PreferredStockSharesIssued_73" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding_74" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_70" xlink:to="loc_us-gaap_PreferredStockSharesOutstanding_74" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_75" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_70" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_75" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_76" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_70" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_76" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_77" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_70" xlink:to="loc_us-gaap_CommonStockSharesIssued_77" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_78" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_70" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_78" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="loc_us-gaap_TreasuryStockCommonShares_79" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_70" xlink:to="loc_us-gaap_TreasuryStockCommonShares_79" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_81" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_85" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_81" xlink:to="loc_us-gaap_StatementTable_85" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_83" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_85" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_83" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_82" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_83" xlink:to="loc_us-gaap_EquityComponentDomain_82" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_86" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_82" xlink:to="loc_us-gaap_CommonStockMember_86" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_87" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_82" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_87" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaap_RetainedEarningsMember_88" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_82" xlink:to="loc_us-gaap_RetainedEarningsMember_88" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="loc_us-gaap_TreasuryStockCommonMember_89" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_82" xlink:to="loc_us-gaap_TreasuryStockCommonMember_89" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_84" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_85" xlink:to="loc_us-gaap_StatementLineItems_84" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_90" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_84" xlink:to="loc_us-gaap_StockholdersEquity_90" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesIssued" xlink:label="loc_us-gaap_SharesIssued_91" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_84" xlink:to="loc_us-gaap_SharesIssued_91" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_92" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_84" xlink:to="loc_us-gaap_NetIncomeLoss_92" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/disclosureGuidance" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_93" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_84" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_93" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_94" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_84" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_94" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_95" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_84" xlink:to="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_95" use="optional" order="14" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_96" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_84" xlink:to="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_96" use="optional" order="15" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross_97" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_84" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross_97" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross_98" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_84" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross_98" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_101" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_84" xlink:to="loc_us-gaap_StockholdersEquity_101" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesIssued" xlink:label="loc_us-gaap_SharesIssued_102" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_84" xlink:to="loc_us-gaap_SharesIssued_102" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_104" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_109" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_104" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_109" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaap_ProfitLoss_132" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_109" xlink:to="loc_us-gaap_ProfitLoss_132" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_105" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_109" xlink:to="loc_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_105" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_111" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_105" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_111" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_112" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_105" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_112" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaap_ShareBasedCompensation_113" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_105" xlink:to="loc_us-gaap_ShareBasedCompensation_113" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_114" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_105" xlink:to="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_114" use="optional" order="7" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="loc_us-gaap_OtherNoncashIncomeExpense_115" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_105" xlink:to="loc_us-gaap_OtherNoncashIncomeExpense_115" use="optional" order="8" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingAssetsAbstract_106" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_109" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingAssetsAbstract_106" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_116" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingAssetsAbstract_106" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_116" use="optional" order="10" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_117" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingAssetsAbstract_106" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_117" use="optional" order="11" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_118" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingAssetsAbstract_106" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_118" use="optional" order="12" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_119" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingAssetsAbstract_106" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_119" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_120" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingAssetsAbstract_106" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_120" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" xlink:label="loc_us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable_121" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingAssetsAbstract_106" xlink:to="loc_us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable_121" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_133" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_109" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_133" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_108" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_104" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_108" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_128" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_108" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_128" use="optional" order="18" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_129" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_108" xlink:to="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_129" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_131" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_108" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_131" use="optional" order="20" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_107" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_104" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_107" use="optional" order="21" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="loc_us-gaap_ProceedsFromLinesOfCredit_123" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_107" xlink:to="loc_us-gaap_ProceedsFromLinesOfCredit_123" use="optional" order="22" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="loc_us-gaap_RepaymentsOfLinesOfCredit_124" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_107" xlink:to="loc_us-gaap_RepaymentsOfLinesOfCredit_124" use="optional" order="23" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_125" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_107" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_125" use="optional" order="24" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_126" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_107" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_126" use="optional" order="25" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_PaymentsForProceedsFromFinancingCosts" xlink:label="loc_trex_PaymentsForProceedsFromFinancingCosts_2147473649" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_107" xlink:to="loc_trex_PaymentsForProceedsFromFinancingCosts_2147473649" use="optional" order="26" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_127" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_107" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_127" use="optional" order="27" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_134" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_104" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_134" use="optional" order="28" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_135" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_104" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_135" use="optional" order="29" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_136" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_104" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_136" use="optional" order="30" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="loc_us-gaap_SupplementalCashFlowInformationAbstract_110" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_104" xlink:to="loc_us-gaap_SupplementalCashFlowInformationAbstract_110" use="optional" order="31" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet" xlink:label="loc_us-gaap_InterestPaidNet_137" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_110" xlink:to="loc_us-gaap_InterestPaidNet_137" use="optional" order="32" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="loc_us-gaap_IncomeTaxesPaidNet_138" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_110" xlink:to="loc_us-gaap_IncomeTaxesPaidNet_138" use="optional" order="33" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract_2147473668" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_104" xlink:to="loc_us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract_2147473668" use="optional" order="34" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_CapitalExpendituresInAccountsPayable" xlink:label="loc_trex_CapitalExpendituresInAccountsPayable_2147473713" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract_2147473668" xlink:to="loc_trex_CapitalExpendituresInAccountsPayable_2147473713" use="optional" order="35" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/BusinessAndOrganization">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_749" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NatureOfOperations" xlink:label="loc_us-gaap_NatureOfOperations_750" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_749" xlink:to="loc_us-gaap_NatureOfOperations_750" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/BasisOfPresentation">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_377978" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_377979" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_377978" xlink:to="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_377979" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/RecentlyAdoptedAccountingStandards">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:label="loc_us-gaap_AccountingChangesAndErrorCorrectionsAbstract_377994" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_377997" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingChangesAndErrorCorrectionsAbstract_377994" xlink:to="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_377997" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/NewAccountingStandardsNotYetAdopted">
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_NewAccountingStandardsNotYetAdoptedAbstract" xlink:label="loc_trex_NewAccountingStandardsNotYetAdoptedAbstract_2147473644" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_DescriptionOfNewAccountingStandardsNotYetAdoptedTextBlock" xlink:label="loc_trex_DescriptionOfNewAccountingStandardsNotYetAdoptedTextBlock_2147473643" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_NewAccountingStandardsNotYetAdoptedAbstract_2147473644" xlink:to="loc_trex_DescriptionOfNewAccountingStandardsNotYetAdoptedTextBlock_2147473643" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/Inventories">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_784" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock_785" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_784" xlink:to="loc_us-gaap_InventoryDisclosureTextBlock_785" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/PrepaidExpensesAndOtherAssets">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract" xlink:label="loc_us-gaap_TextBlockAbstract_790" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_PrepaidAndOtherCurrentAssetsDisclosureTextBlock" xlink:label="loc_trex_PrepaidAndOtherCurrentAssetsDisclosureTextBlock_791" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TextBlockAbstract_790" xlink:to="loc_trex_PrepaidAndOtherCurrentAssetsDisclosureTextBlock_791" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNet">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_796" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_797" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_796" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_797" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/AccruedExpensesAndOtherLiabilities">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract_808" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:label="loc_us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock_809" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_808" xlink:to="loc_us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock_809" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/Debt">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaap_DebtDisclosureAbstract_814" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="loc_us-gaap_DebtDisclosureTextBlock_815" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_814" xlink:to="loc_us-gaap_DebtDisclosureTextBlock_815" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/Leases">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_848" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock_849" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_848" xlink:to="loc_us-gaap_LesseeOperatingLeasesTextBlock_849" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/FinancialInstruments">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentsAllOtherInvestmentsAbstract" xlink:label="loc_us-gaap_InvestmentsAllOtherInvestmentsAbstract_817" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentsDisclosureTextBlock" xlink:label="loc_us-gaap_FinancialInstrumentsDisclosureTextBlock_818" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InvestmentsAllOtherInvestmentsAbstract_817" xlink:to="loc_us-gaap_FinancialInstrumentsDisclosureTextBlock_818" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/StockholdersEquity">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaap_EquityAbstract_820" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_821" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_820" xlink:to="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_821" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/RevenueFromContractsWithCustomers">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_827" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_828" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_827" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_828" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/StockBasedCompensation">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_833" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_834" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_833" xlink:to="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_834" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/IncomeTaxes">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_857" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_858" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_857" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_858" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/Seasonality">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract" xlink:label="loc_us-gaap_TextBlockAbstract_872" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SeasonalityDisclosureTextBlock" xlink:label="loc_trex_SeasonalityDisclosureTextBlock_873" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TextBlockAbstract_872" xlink:to="loc_trex_SeasonalityDisclosureTextBlock_873" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/CommitmentsAndContingencies">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_875" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_876" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_875" xlink:to="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_876" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/InventoriesTables">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_787" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_788" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_787" xlink:to="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_788" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/PrepaidExpensesAndOtherAssetsTables">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract" xlink:label="loc_us-gaap_TextBlockAbstract_793" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_PrepaidExpenseAndOtherAssetsCurrentTableTextBlock" xlink:label="loc_trex_PrepaidExpenseAndOtherAssetsCurrentTableTextBlock_794" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TextBlockAbstract_793" xlink:to="loc_trex_PrepaidExpenseAndOtherAssetsCurrentTableTextBlock_794" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesTables">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract_811" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock" xlink:label="loc_trex_ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock_812" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_811" xlink:to="loc_trex_ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock_812" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/LeasesTables">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_851" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SupplementalFinancialInformationOfOperatingLeasesTableTextBlock" xlink:label="loc_trex_SupplementalFinancialInformationOfOperatingLeasesTableTextBlock_378357" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_851" xlink:to="loc_trex_SupplementalFinancialInformationOfOperatingLeasesTableTextBlock_378357" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_378428" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_851" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_378428" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/StockholdersEquityTables">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaap_EquityAbstract_823" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_824" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_823" xlink:to="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_824" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_825" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_823" xlink:to="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_825" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/StockBasedCompensationTables">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_836" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_840" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_836" xlink:to="loc_us-gaap_StatementTable_840" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_837" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_840" xlink:to="loc_us-gaap_AwardTypeAxis_837" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_838" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_837" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_838" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_839" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_840" xlink:to="loc_us-gaap_StatementLineItems_839" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock_843" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_839" xlink:to="loc_us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock_843" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_845" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_839" xlink:to="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_845" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock_378535" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_839" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock_378535" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/CommitmentsAndContingenciesTables">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_878" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_879" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_878" xlink:to="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_879" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/BusinessAndOrganizationAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_140" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportableSegments" xlink:label="loc_us-gaap_NumberOfReportableSegments_141" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_140" xlink:to="loc_us-gaap_NumberOfReportableSegments_141" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/InventoriesSummaryOfInventoriesDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_256" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaap_InventoryFinishedGoods_257" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_256" xlink:to="loc_us-gaap_InventoryFinishedGoods_257" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterials" xlink:label="loc_us-gaap_InventoryRawMaterials_258" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_256" xlink:to="loc_us-gaap_InventoryRawMaterials_258" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryGross" xlink:label="loc_us-gaap_InventoryGross_259" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_256" xlink:to="loc_us-gaap_InventoryGross_259" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryLIFOReserve" xlink:label="loc_us-gaap_InventoryLIFOReserve_260" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_256" xlink:to="loc_us-gaap_InventoryLIFOReserve_260" use="optional" order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LIFOInventoryAmount" xlink:label="loc_us-gaap_LIFOInventoryAmount_261" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_256" xlink:to="loc_us-gaap_LIFOInventoryAmount_261" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/PrepaidExpensesAndOtherAssetsSummaryOfPrepaidExpensesAndOtherAssetsDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsAbstract" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsAbstract_267" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="loc_us-gaap_PrepaidExpenseCurrent_269" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsAbstract_267" xlink:to="loc_us-gaap_PrepaidExpenseCurrent_269" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="loc_us-gaap_IncomeTaxesReceivable_271" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsAbstract_267" xlink:to="loc_us-gaap_IncomeTaxesReceivable_271" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent" xlink:label="loc_us-gaap_OtherAssetsCurrent_272" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsAbstract_267" xlink:to="loc_us-gaap_OtherAssetsCurrent_272" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_273" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsAbstract_267" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_273" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_275" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_283" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_275" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_283" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_281" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_283" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_281" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_282" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_281" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_282" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_278" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_283" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_278" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_279" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_278" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_279" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InternetDomainNamesMember" xlink:label="loc_us-gaap_InternetDomainNamesMember_286" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_279" xlink:to="loc_us-gaap_InternetDomainNamesMember_286" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancingReceivablePortfolioSegmentAxis" xlink:label="loc_us-gaap_FinancingReceivablePortfolioSegmentAxis_276" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_283" xlink:to="loc_us-gaap_FinancingReceivablePortfolioSegmentAxis_276" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancingReceivablePortfolioSegmentDomain" xlink:label="loc_us-gaap_FinancingReceivablePortfolioSegmentDomain_277" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivablePortfolioSegmentAxis_276" xlink:to="loc_us-gaap_FinancingReceivablePortfolioSegmentDomain_277" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResidentialPortfolioSegmentMember" xlink:label="loc_us-gaap_ResidentialPortfolioSegmentMember_285" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivablePortfolioSegmentDomain_277" xlink:to="loc_us-gaap_ResidentialPortfolioSegmentMember_285" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReportingUnitAxis" xlink:label="loc_us-gaap_ReportingUnitAxis_1292367" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_283" xlink:to="loc_us-gaap_ReportingUnitAxis_1292367" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReportingUnitDomain" xlink:label="loc_us-gaap_ReportingUnitDomain_1292368" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReportingUnitAxis_1292367" xlink:to="loc_us-gaap_ReportingUnitDomain_1292368" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillLineItems" xlink:label="loc_us-gaap_GoodwillLineItems_280" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_283" xlink:to="loc_us-gaap_GoodwillLineItems_280" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_287" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_280" xlink:to="loc_us-gaap_Goodwill_287" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_2147473650" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_280" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_2147473650" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_290" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_280" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_290" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:label="loc_us-gaap_IntangibleAssetsGrossExcludingGoodwill_561618" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_280" xlink:to="loc_us-gaap_IntangibleAssetsGrossExcludingGoodwill_561618" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_561623" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_280" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_561623" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract_333" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedMarketingCostsCurrent" xlink:label="loc_us-gaap_AccruedMarketingCostsCurrent_334" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_333" xlink:to="loc_us-gaap_AccruedMarketingCostsCurrent_334" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent_2147473642" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_333" xlink:to="loc_us-gaap_AccruedIncomeTaxesCurrent_2147473642" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_335" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_333" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_335" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_378333" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_333" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_378333" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_AccruedManufacturingExpensesCurrent" xlink:label="loc_trex_AccruedManufacturingExpensesCurrent_336" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_333" xlink:to="loc_trex_AccruedManufacturingExpensesCurrent_336" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_340" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_333" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_340" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" xlink:label="loc_trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty_341" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_333" xlink:to="loc_trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty_341" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_2147473648" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_333" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_2147473648" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/label" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/DebtAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaap_DebtDisclosureAbstract_343" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="loc_us-gaap_LineOfCreditFacilityTable_349" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_343" xlink:to="loc_us-gaap_LineOfCreditFacilityTable_349" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="loc_us-gaap_CreditFacilityAxis_344" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_349" xlink:to="loc_us-gaap_CreditFacilityAxis_344" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaap_CreditFacilityDomain_345" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityAxis_344" xlink:to="loc_us-gaap_CreditFacilityDomain_345" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_356" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_345" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_356" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_RevolvingBLoanMember" xlink:label="loc_trex_RevolvingBLoanMember_2147473934" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_345" xlink:to="loc_trex_RevolvingBLoanMember_2147473934" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaap_DebtInstrumentAxis_346" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_349" xlink:to="loc_us-gaap_DebtInstrumentAxis_346" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_347" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_346" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_347" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="loc_us-gaap_VariableRateAxis_352" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_349" xlink:to="loc_us-gaap_VariableRateAxis_352" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="loc_us-gaap_VariableRateDomain_353" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateAxis_352" xlink:to="loc_us-gaap_VariableRateDomain_353" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BaseRateMember" xlink:label="loc_us-gaap_BaseRateMember_2147473929" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_353" xlink:to="loc_us-gaap_BaseRateMember_2147473929" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:label="loc_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_2147473930" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_353" xlink:to="loc_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_2147473930" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="loc_us-gaap_LineOfCreditFacilityAxis_802771" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_349" xlink:to="loc_us-gaap_LineOfCreditFacilityAxis_802771" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="loc_us-gaap_LineOfCreditFacilityLenderDomain_802772" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityAxis_802771" xlink:to="loc_us-gaap_LineOfCreditFacilityLenderDomain_802772" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_AgreementAxis" xlink:label="loc_trex_AgreementAxis_2147473845" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_349" xlink:to="loc_trex_AgreementAxis_2147473845" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_AgreementDomain" xlink:label="loc_trex_AgreementDomain_2147473847" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_AgreementAxis_2147473845" xlink:to="loc_trex_AgreementDomain_2147473847" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_FifthAmendmentAndRestatedAgreementMember" xlink:label="loc_trex_FifthAmendmentAndRestatedAgreementMember_2147473852" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_AgreementDomain_2147473847" xlink:to="loc_trex_FifthAmendmentAndRestatedAgreementMember_2147473852" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_CreditFacilityOneAxis" xlink:label="loc_trex_CreditFacilityOneAxis_2147473870" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_349" xlink:to="loc_trex_CreditFacilityOneAxis_2147473870" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_CreditFacilityOneDomain" xlink:label="loc_trex_CreditFacilityOneDomain_2147473873" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_CreditFacilityOneAxis_2147473870" xlink:to="loc_trex_CreditFacilityOneDomain_2147473873" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LetterOfCreditMember" xlink:label="loc_us-gaap_LetterOfCreditMember_2147473890" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_CreditFacilityOneDomain_2147473873" xlink:to="loc_us-gaap_LetterOfCreditMember_2147473890" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SwinglineLetterOfCreditMember" xlink:label="loc_trex_SwinglineLetterOfCreditMember_2147473880" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_CreditFacilityOneDomain_2147473873" xlink:to="loc_trex_SwinglineLetterOfCreditMember_2147473880" use="optional" order="20" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_2147473967" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_349" xlink:to="loc_srt_RangeAxis_2147473967" use="optional" order="21" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_2147473968" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_2147473967" xlink:to="loc_srt_RangeMember_2147473968" use="optional" order="22" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="loc_srt_MaximumMember_2147473969" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_2147473968" xlink:to="loc_srt_MaximumMember_2147473969" use="optional" order="23" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="loc_srt_MinimumMember_2147473970" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_2147473968" xlink:to="loc_srt_MinimumMember_2147473970" use="optional" order="24" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="loc_us-gaap_LineOfCreditFacilityLineItems_348" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_349" xlink:to="loc_us-gaap_LineOfCreditFacilityLineItems_348" use="optional" order="25" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_362" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_348" xlink:to="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_362" use="optional" order="26" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_363" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_348" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_363" use="optional" order="27" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityExpirationDate1" xlink:label="loc_us-gaap_LineOfCreditFacilityExpirationDate1_364" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_348" xlink:to="loc_us-gaap_LineOfCreditFacilityExpirationDate1_364" use="optional" order="28" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_365" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_348" xlink:to="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_365" use="optional" order="29" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaap_LinesOfCreditCurrent_378350" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_348" xlink:to="loc_us-gaap_LinesOfCreditCurrent_378350" use="optional" order="30" preferredLabel="http://www.xbrl.org/2003/role/positiveLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_LineOfCreditFacilityAdditionalBorrowingCapacity" xlink:label="loc_trex_LineOfCreditFacilityAdditionalBorrowingCapacity_802770" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_348" xlink:to="loc_trex_LineOfCreditFacilityAdditionalBorrowingCapacity_802770" use="optional" order="31" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentDescriptionOfVariableRateBasis" xlink:label="loc_us-gaap_DebtInstrumentDescriptionOfVariableRateBasis_2147473928" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_348" xlink:to="loc_us-gaap_DebtInstrumentDescriptionOfVariableRateBasis_2147473928" use="optional" order="32" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCredit" xlink:label="loc_us-gaap_LineOfCredit_2147473931" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_348" xlink:to="loc_us-gaap_LineOfCredit_2147473931" use="optional" order="33" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_2147473958" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_348" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_2147473958" use="optional" order="34" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtWeightedAverageInterestRate" xlink:label="loc_us-gaap_DebtWeightedAverageInterestRate_2147473979" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_348" xlink:to="loc_us-gaap_DebtWeightedAverageInterestRate_2147473979" use="optional" order="35" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/LeasesAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_562" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_378480" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_562" xlink:to="loc_us-gaap_StatementTable_378480" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_378484" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_378480" xlink:to="loc_srt_RangeAxis_378484" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_378485" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_378484" xlink:to="loc_srt_RangeMember_378485" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="loc_srt_MinimumMember_378487" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_378485" xlink:to="loc_srt_MinimumMember_378487" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="loc_srt_MaximumMember_378486" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_378485" xlink:to="loc_srt_MaximumMember_378486" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_378481" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_378480" xlink:to="loc_us-gaap_StatementClassOfStockAxis_378481" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_378482" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_378481" xlink:to="loc_us-gaap_ClassOfStockDomain_378482" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_378483" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_378480" xlink:to="loc_us-gaap_StatementLineItems_378483" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_378455" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_378483" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_378455" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseCost" xlink:label="loc_us-gaap_OperatingLeaseCost_378456" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_378483" xlink:to="loc_us-gaap_OperatingLeaseCost_378456" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LessorOperatingLeaseTermOfContract" xlink:label="loc_us-gaap_LessorOperatingLeaseTermOfContract_378457" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_378483" xlink:to="loc_us-gaap_LessorOperatingLeaseTermOfContract_378457" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_378611" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_378483" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_378611" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_378378" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_378380" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_378378" xlink:to="loc_us-gaap_StatementTable_378380" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_563044" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_378380" xlink:to="loc_us-gaap_StatementClassOfStockAxis_563044" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_563045" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_563044" xlink:to="loc_us-gaap_ClassOfStockDomain_563045" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_378383" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_378380" xlink:to="loc_us-gaap_StatementLineItems_378383" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashFlowOperatingActivitiesLesseeAbstract" xlink:label="loc_us-gaap_CashFlowOperatingActivitiesLesseeAbstract_378384" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_378383" xlink:to="loc_us-gaap_CashFlowOperatingActivitiesLesseeAbstract_378384" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="loc_us-gaap_OperatingLeasePayments_378411" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashFlowOperatingActivitiesLesseeAbstract_378384" xlink:to="loc_us-gaap_OperatingLeasePayments_378411" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_378414" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashFlowOperatingActivitiesLesseeAbstract_378384" xlink:to="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_378414" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SupplementalBalanceSheetInformationAbstract" xlink:label="loc_trex_SupplementalBalanceSheetInformationAbstract_378420" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_378383" xlink:to="loc_trex_SupplementalBalanceSheetInformationAbstract_378420" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_378416" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_SupplementalBalanceSheetInformationAbstract_378420" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_378416" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:label="loc_us-gaap_AssetsAndLiabilitiesLesseeAbstract_378406" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_378383" xlink:to="loc_us-gaap_AssetsAndLiabilitiesLesseeAbstract_378406" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities" xlink:label="loc_trex_LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities_378422" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAndLiabilitiesLesseeAbstract_378406" xlink:to="loc_trex_LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities_378422" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_378423" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAndLiabilitiesLesseeAbstract_378406" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_378423" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaap_OperatingLeaseLiability_378424" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_378383" xlink:to="loc_us-gaap_OperatingLeaseLiability_378424" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_378433" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_378436" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_378433" xlink:to="loc_us-gaap_StatementTable_378436" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_378437" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_378436" xlink:to="loc_us-gaap_StatementClassOfStockAxis_378437" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_378438" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_378437" xlink:to="loc_us-gaap_ClassOfStockDomain_378438" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_378439" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_378436" xlink:to="loc_us-gaap_StatementLineItems_378439" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_378441" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_378439" xlink:to="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_378441" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_2147473637" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_378441" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_2147473637" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_378442" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_378441" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_378442" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_378443" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_378441" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_378443" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_378444" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_378441" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_378444" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_378446" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_378441" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_378446" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_378448" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_378441" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_378448" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_378449" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_378441" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_378449" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_406020" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_378441" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_406020" use="optional" order="13" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaap_OperatingLeaseLiability_378451" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_378441" xlink:to="loc_us-gaap_OperatingLeaseLiability_378451" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/StockholdersEquityAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaap_EquityAbstract_374" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfTreasuryStockTable" xlink:label="loc_us-gaap_ClassOfTreasuryStockTable_375" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_374" xlink:to="loc_us-gaap_ClassOfTreasuryStockTable_375" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis_377" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfTreasuryStockTable_375" xlink:to="loc_us-gaap_ShareRepurchaseProgramAxis_377" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_378" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_377" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_378" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_TwoThousandEighteenStockRepurchaseProgramMember" xlink:label="loc_trex_TwoThousandEighteenStockRepurchaseProgramMember_2147473658" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_378" xlink:to="loc_trex_TwoThousandEighteenStockRepurchaseProgramMember_2147473658" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_TwoThousandTwentyThreeStockRepurchaseProgramMember" xlink:label="loc_trex_TwoThousandTwentyThreeStockRepurchaseProgramMember_2147473667" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_378" xlink:to="loc_trex_TwoThousandTwentyThreeStockRepurchaseProgramMember_2147473667" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_2147473656" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfTreasuryStockTable_375" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_2147473656" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_2147473655" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_2147473656" xlink:to="loc_us-gaap_EquityComponentDomain_2147473655" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityClassOfTreasuryStockLineItems" xlink:label="loc_us-gaap_EquityClassOfTreasuryStockLineItems_376" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfTreasuryStockTable_375" xlink:to="loc_us-gaap_EquityClassOfTreasuryStockLineItems_376" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:label="loc_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_383" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_376" xlink:to="loc_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_383" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockSharesAcquired" xlink:label="loc_us-gaap_TreasuryStockSharesAcquired_384" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_376" xlink:to="loc_us-gaap_TreasuryStockSharesAcquired_384" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_2147473657" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_376" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_2147473657" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract_391" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ComponentsOfBasicAndDilutedEarningPerShareTable" xlink:label="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareTable_394" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_391" xlink:to="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareTable_394" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_392" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareTable_394" xlink:to="loc_us-gaap_AwardTypeAxis_392" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_396" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_392" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_396" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_StockAppreciationRightsMember" xlink:label="loc_trex_StockAppreciationRightsMember_402" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_396" xlink:to="loc_trex_StockAppreciationRightsMember_402" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember" xlink:label="loc_us-gaap_RestrictedStockMember_403" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_396" xlink:to="loc_us-gaap_RestrictedStockMember_403" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems" xlink:label="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems_393" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareTable_394" xlink:to="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems_393" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAbstract" xlink:label="loc_us-gaap_NetIncomeLossAbstract_395" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems_393" xlink:to="loc_us-gaap_NetIncomeLossAbstract_395" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_401" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetIncomeLossAbstract_395" xlink:to="loc_us-gaap_NetIncomeLoss_401" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/presentationGuidance" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_398" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems_393" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_398" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_406" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_398" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_406" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_397" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems_393" xlink:to="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_397" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_404" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_397" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_404" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_405" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_397" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_405" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaap_EarningsPerShareBasic_399" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems_393" xlink:to="loc_us-gaap_EarningsPerShareBasic_399" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted_400" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems_393" xlink:to="loc_us-gaap_EarningsPerShareDiluted_400" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/StockholdersEquityAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaap_EquityAbstract_408" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_412" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_408" xlink:to="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_412" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_409" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_412" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_409" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_411" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_409" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_411" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember" xlink:label="loc_us-gaap_RestrictedStockMember_560984" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_411" xlink:to="loc_us-gaap_RestrictedStockMember_560984" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockAppreciationRightsSARSMember" xlink:label="loc_us-gaap_StockAppreciationRightsSARSMember_415" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_411" xlink:to="loc_us-gaap_StockAppreciationRightsSARSMember_415" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/definitionGuidance" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_410" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_412" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_410" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_413" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_410" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_413" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/RevenueFromContractsWithCustomersAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_417" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_2147473639" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_417" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_2147473639" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_434" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_440" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_434" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_440" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_561151" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_440" xlink:to="loc_srt_RangeAxis_561151" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_561152" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_561151" xlink:to="loc_srt_RangeMember_561152" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_435" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_440" xlink:to="loc_us-gaap_AwardTypeAxis_435" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_442" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_435" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_442" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember" xlink:label="loc_trex_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember_462" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_442" xlink:to="loc_trex_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember_462" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockAppreciationRightsSARSMember" xlink:label="loc_us-gaap_StockAppreciationRightsSARSMember_463" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_442" xlink:to="loc_us-gaap_StockAppreciationRightsSARSMember_463" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/presentationGuidance" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_PerformanceBasedRestrictedStockAdjustmentMember" xlink:label="loc_trex_PerformanceBasedRestrictedStockAdjustmentMember_2147473638" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_442" xlink:to="loc_trex_PerformanceBasedRestrictedStockAdjustmentMember_2147473638" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis" xlink:label="loc_us-gaap_VestingAxis_443" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_440" xlink:to="loc_us-gaap_VestingAxis_443" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="loc_us-gaap_VestingDomain_444" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingAxis_443" xlink:to="loc_us-gaap_VestingDomain_444" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaap_PlanNameAxis_436" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_440" xlink:to="loc_us-gaap_PlanNameAxis_436" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaap_PlanNameDomain_437" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_436" xlink:to="loc_us-gaap_PlanNameDomain_437" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_TwoThousandFourteenStockIncentivePlanMember" xlink:label="loc_trex_TwoThousandFourteenStockIncentivePlanMember_445" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_437" xlink:to="loc_trex_TwoThousandFourteenStockIncentivePlanMember_445" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_441" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_440" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_441" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_448" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_441" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_448" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_450" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_441" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_450" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsMethodUsed" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsMethodUsed_456" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_441" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsMethodUsed_456" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_457" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_441" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_457" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationExpensesDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_470" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_472" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_470" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_472" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_471" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_472" xlink:to="loc_us-gaap_AwardTypeAxis_471" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_474" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_471" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_474" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockAppreciationRightsSARSMember" xlink:label="loc_us-gaap_StockAppreciationRightsSARSMember_478" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_474" xlink:to="loc_us-gaap_StockAppreciationRightsSARSMember_478" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/presentationGuidance" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_TimeBasedRestrictedStockandRestrictedstockUnitsMember" xlink:label="loc_trex_TimeBasedRestrictedStockandRestrictedstockUnitsMember_580537" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_474" xlink:to="loc_trex_TimeBasedRestrictedStockandRestrictedstockUnitsMember_580537" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_PerformanceBasedRestrictedStockAndrestrictedStockunitsMember" xlink:label="loc_trex_PerformanceBasedRestrictedStockAndrestrictedStockunitsMember_580538" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_474" xlink:to="loc_trex_PerformanceBasedRestrictedStockAndrestrictedStockunitsMember_580538" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_EmployeeStockPurchasePlanMember" xlink:label="loc_trex_EmployeeStockPurchasePlanMember_479" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_474" xlink:to="loc_trex_EmployeeStockPurchasePlanMember_479" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_473" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_472" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_473" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_475" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_473" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_475" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_515" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyTable" xlink:label="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyTable_518" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_515" xlink:to="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyTable_518" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_516" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyTable_518" xlink:to="loc_us-gaap_AwardTypeAxis_516" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_519" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_516" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_519" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockAppreciationRightsSARSMember" xlink:label="loc_us-gaap_StockAppreciationRightsSARSMember_524" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_519" xlink:to="loc_us-gaap_StockAppreciationRightsSARSMember_524" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/presentationGuidance" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems" xlink:label="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems_517" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyTable_518" xlink:to="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems_517" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_378585" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems_517" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_378585" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_520" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems_517" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_520" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_521" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems_517" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_521" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_522" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems_517" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_522" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_523" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems_517" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_523" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationGrantsDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_378550" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_378552" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_378550" xlink:to="loc_us-gaap_StatementTable_378552" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_378563" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_378552" xlink:to="loc_us-gaap_AwardTypeAxis_378563" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_378564" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_378563" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_378564" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_TimeBasedRestrictedStockUnitsMember" xlink:label="loc_trex_TimeBasedRestrictedStockUnitsMember_378565" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_378564" xlink:to="loc_trex_TimeBasedRestrictedStockUnitsMember_378565" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_PerformanceBasedRestrictedStockUnitsMember" xlink:label="loc_trex_PerformanceBasedRestrictedStockUnitsMember_378566" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_378564" xlink:to="loc_trex_PerformanceBasedRestrictedStockUnitsMember_378566" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockAppreciationRightsSARSMember" xlink:label="loc_us-gaap_StockAppreciationRightsSARSMember_378567" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_378564" xlink:to="loc_us-gaap_StockAppreciationRightsSARSMember_378567" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_378553" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_378552" xlink:to="loc_us-gaap_StatementClassOfStockAxis_378553" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_378554" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_378553" xlink:to="loc_us-gaap_ClassOfStockDomain_378554" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_378555" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_378552" xlink:to="loc_us-gaap_StatementLineItems_378555" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_378557" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_378555" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_378557" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/definitionGuidance" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice" xlink:label="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice_378561" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_378555" xlink:to="loc_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice_378561" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_619" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="loc_us-gaap_IncomeTaxContingencyTable_622" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_619" xlink:to="loc_us-gaap_IncomeTaxContingencyTable_622" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodAxis" xlink:label="loc_us-gaap_TaxPeriodAxis_378593" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_622" xlink:to="loc_us-gaap_TaxPeriodAxis_378593" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodDomain" xlink:label="loc_us-gaap_TaxPeriodDomain_378594" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxPeriodAxis_378593" xlink:to="loc_us-gaap_TaxPeriodDomain_378594" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarliestTaxYearMember" xlink:label="loc_us-gaap_EarliestTaxYearMember_378595" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxPeriodDomain_378594" xlink:to="loc_us-gaap_EarliestTaxYearMember_378595" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LatestTaxYearMember" xlink:label="loc_us-gaap_LatestTaxYearMember_378596" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxPeriodDomain_378594" xlink:to="loc_us-gaap_LatestTaxYearMember_378596" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameAxis_378597" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_622" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameAxis_378597" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain_378598" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis_378597" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameDomain_378598" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InternalRevenueServiceIRSMember" xlink:label="loc_us-gaap_InternalRevenueServiceIRSMember_378600" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_378598" xlink:to="loc_us-gaap_InternalRevenueServiceIRSMember_378600" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="loc_us-gaap_IncomeTaxContingencyLineItems_621" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_622" xlink:to="loc_us-gaap_IncomeTaxContingencyLineItems_621" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_626" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_621" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_626" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_627" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_621" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_627" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OpenTaxYear" xlink:label="loc_us-gaap_OpenTaxYear_630" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_621" xlink:to="loc_us-gaap_OpenTaxYear_630" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_378586" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_621" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_378586" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ExcessTaxBenefitsFromStockBasedAwards" xlink:label="loc_trex_ExcessTaxBenefitsFromStockBasedAwards_2147473640" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_621" xlink:to="loc_trex_ExcessTaxBenefitsFromStockBasedAwards_2147473640" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_678" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ScheduleOfCommitmentsAndContingenciesTable" xlink:label="loc_trex_ScheduleOfCommitmentsAndContingenciesTable_688" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_678" xlink:to="loc_trex_ScheduleOfCommitmentsAndContingenciesTable_688" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis_681" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesTable_688" xlink:to="loc_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis_681" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_682" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis_681" xlink:to="loc_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_682" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srt_ProductOrServiceAxis_561113" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesTable_688" xlink:to="loc_srt_ProductOrServiceAxis_561113" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain_561114" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_561113" xlink:to="loc_srt_ProductsAndServicesDomain_561114" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SignatureRailingAndTranscendCladdingMember" xlink:label="loc_trex_SignatureRailingAndTranscendCladdingMember_2147473708" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_561114" xlink:to="loc_trex_SignatureRailingAndTranscendCladdingMember_2147473708" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_TranscendDeckingMember" xlink:label="loc_trex_TranscendDeckingMember_2147473711" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_561114" xlink:to="loc_trex_TranscendDeckingMember_2147473711" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SelectDeckingAndUniversalFasciaMember" xlink:label="loc_trex_SelectDeckingAndUniversalFasciaMember_2147473714" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_561114" xlink:to="loc_trex_SelectDeckingAndUniversalFasciaMember_2147473714" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember" xlink:label="loc_trex_EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember_2147473715" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_561114" xlink:to="loc_trex_EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember_2147473715" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SignatureRailingMember" xlink:label="loc_trex_SignatureRailingMember_2147475507" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_561114" xlink:to="loc_trex_SignatureRailingMember_2147475507" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="loc_us-gaap_GuaranteeObligationsByNatureAxis_679" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesTable_688" xlink:to="loc_us-gaap_GuaranteeObligationsByNatureAxis_679" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="loc_us-gaap_GuaranteeObligationsNatureDomain_680" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GuaranteeObligationsByNatureAxis_679" xlink:to="loc_us-gaap_GuaranteeObligationsNatureDomain_680" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ResidentialUseMember" xlink:label="loc_trex_ResidentialUseMember_691" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GuaranteeObligationsNatureDomain_680" xlink:to="loc_trex_ResidentialUseMember_691" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_CommercialUseMember" xlink:label="loc_trex_CommercialUseMember_692" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GuaranteeObligationsNatureDomain_680" xlink:to="loc_trex_CommercialUseMember_692" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ResidentialAndCommercialUseMember" xlink:label="loc_trex_ResidentialAndCommercialUseMember_2147473701" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GuaranteeObligationsNatureDomain_680" xlink:to="loc_trex_ResidentialAndCommercialUseMember_2147473701" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_690" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesTable_688" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_690" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain_689" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_690" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDomain_689" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SurfaceFlakingWarrantyReserveMember" xlink:label="loc_trex_SurfaceFlakingWarrantyReserveMember_706" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_689" xlink:to="loc_trex_SurfaceFlakingWarrantyReserveMember_706" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_685" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesTable_688" xlink:to="loc_srt_RangeAxis_685" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_686" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_685" xlink:to="loc_srt_RangeMember_686" use="optional" order="20" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContingentConsiderationByTypeAxis" xlink:label="loc_us-gaap_ContingentConsiderationByTypeAxis_803848" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesTable_688" xlink:to="loc_us-gaap_ContingentConsiderationByTypeAxis_803848" use="optional" order="21" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="loc_us-gaap_ContingentConsiderationTypeDomain_803849" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ContingentConsiderationByTypeAxis_803848" xlink:to="loc_us-gaap_ContingentConsiderationTypeDomain_803849" use="optional" order="22" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplyCommitmentAxis" xlink:label="loc_us-gaap_SupplyCommitmentAxis_2147475508" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesTable_688" xlink:to="loc_us-gaap_SupplyCommitmentAxis_2147475508" use="optional" order="23" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplyCommitmentArrangementMember" xlink:label="loc_us-gaap_SupplyCommitmentArrangementMember_2147475509" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplyCommitmentAxis_2147475508" xlink:to="loc_us-gaap_SupplyCommitmentArrangementMember_2147475509" use="optional" order="24" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember" xlink:label="loc_trex_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember_2147475510" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplyCommitmentArrangementMember_2147475509" xlink:to="loc_trex_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember_2147475510" use="optional" order="25" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember" xlink:label="loc_trex_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember_2147475511" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplyCommitmentArrangementMember_2147475509" xlink:to="loc_trex_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember_2147475511" use="optional" order="26" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancingReceivablePortfolioSegmentAxis" xlink:label="loc_us-gaap_FinancingReceivablePortfolioSegmentAxis_1291423" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesTable_688" xlink:to="loc_us-gaap_FinancingReceivablePortfolioSegmentAxis_1291423" use="optional" order="27" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancingReceivablePortfolioSegmentDomain" xlink:label="loc_us-gaap_FinancingReceivablePortfolioSegmentDomain_1291424" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivablePortfolioSegmentAxis_1291423" xlink:to="loc_us-gaap_FinancingReceivablePortfolioSegmentDomain_1291424" use="optional" order="28" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ScheduleOfCommitmentsAndContingenciesLineItems" xlink:label="loc_trex_ScheduleOfCommitmentsAndContingenciesLineItems_687" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesTable_688" xlink:to="loc_trex_ScheduleOfCommitmentsAndContingenciesLineItems_687" use="optional" order="29" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_WarrantyPeriod" xlink:label="loc_trex_WarrantyPeriod_703" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesLineItems_687" xlink:to="loc_trex_WarrantyPeriod_703" use="optional" order="30" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_PercentSensitivityChangeInExpectedSurfaceFlakingClaims" xlink:label="loc_trex_PercentSensitivityChangeInExpectedSurfaceFlakingClaims_704" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesLineItems_687" xlink:to="loc_trex_PercentSensitivityChangeInExpectedSurfaceFlakingClaims_704" use="optional" order="31" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SensitivityChangeInSurfaceFlakingWarrantyReserve" xlink:label="loc_trex_SensitivityChangeInSurfaceFlakingWarrantyReserve_705" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesLineItems_687" xlink:to="loc_trex_SensitivityChangeInSurfaceFlakingWarrantyReserve_705" use="optional" order="32" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AreaOfLand" xlink:label="loc_us-gaap_AreaOfLand_1291393" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_trex_ScheduleOfCommitmentsAndContingenciesLineItems_687" xlink:to="loc_us-gaap_AreaOfLand_1291393" use="optional" order="33" preferredLabel="http://www.xbrl.org/2003/role/label" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.trex.com/role/CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail">
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_708" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyLiabilityTable" xlink:label="loc_us-gaap_ProductWarrantyLiabilityTable_712" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_708" xlink:to="loc_us-gaap_ProductWarrantyLiabilityTable_712" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContingentConsiderationByTypeAxis" xlink:label="loc_us-gaap_ContingentConsiderationByTypeAxis_709" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantyLiabilityTable_712" xlink:to="loc_us-gaap_ContingentConsiderationByTypeAxis_709" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="loc_us-gaap_ContingentConsiderationTypeDomain_710" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ContingentConsiderationByTypeAxis_709" xlink:to="loc_us-gaap_ContingentConsiderationTypeDomain_710" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_ProductWarrantyMember" xlink:label="loc_trex_ProductWarrantyMember_2147473641" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ContingentConsiderationTypeDomain_710" xlink:to="loc_trex_ProductWarrantyMember_2147473641" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SurfaceFlakingMember" xlink:label="loc_trex_SurfaceFlakingMember_715" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ContingentConsiderationTypeDomain_710" xlink:to="loc_trex_SurfaceFlakingMember_715" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_714" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantyLiabilityTable_712" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_714" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain_713" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_714" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDomain_713" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="trex-20240331.xsd#trex_SurfaceFlakingWarrantyReserveMember" xlink:label="loc_trex_SurfaceFlakingWarrantyReserveMember_721" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_713" xlink:to="loc_trex_SurfaceFlakingWarrantyReserveMember_721" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyLiabilityLineItems" xlink:label="loc_us-gaap_ProductWarrantyLiabilityLineItems_711" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantyLiabilityTable_712" xlink:to="loc_us-gaap_ProductWarrantyLiabilityLineItems_711" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardProductWarrantyAccrual" xlink:label="loc_us-gaap_StandardProductWarrantyAccrual_717" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantyLiabilityLineItems_711" xlink:to="loc_us-gaap_StandardProductWarrantyAccrual_717" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_718" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantyLiabilityLineItems_711" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_718" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardProductWarrantyAccrualPayments" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPayments_719" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantyLiabilityLineItems_711" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualPayments_719" use="optional" order="12" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardProductWarrantyAccrual" xlink:label="loc_us-gaap_StandardProductWarrantyAccrual_720" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantyLiabilityLineItems_711" xlink:to="loc_us-gaap_StandardProductWarrantyAccrual_720" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
</presentationLink>
</linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>10
<FILENAME>g788119dsp1.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 g788119dsp1.jpg
M_]C_X  02D9)1@ !  $ 8 !@  #__@ ?3$5!1"!496-H;F]L;V=I97,@26YC
M+B!6,2XP,0#_VP"$  @&!@<&!0@'!P<*"0@*#18.#0P,#1L3%! 6(!PB(1\<
M'QXC*#,K(R8P)AX?+#TM,#4V.3HY(BL_0SXX0S,X.3<!"0H*#0L-&@X.&C<D
M'R0W-S<W-S<W-S<W-S<W-S<W-S<W-S<W-S<W-S<W-S<W-S<W-S<W-S<W-S<W
M-S<W-S<W-__$ :(   $% 0$! 0$!           ! @,$!08'" D*"P$  P$!
M 0$! 0$! 0        $" P0%!@<("0H+$  " 0,# @0#!04$!    7T! @,
M!!$%$B$Q008346$'(G$4,H&1H0@C0K'!%5+1\"0S8G*""0H6%Q@9&B4F)R@I
M*C0U-C<X.3I#1$5&1TA)2E-455976%E:8V1E9F=H:6IS='5V=WAY>H.$A8:'
MB(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4U=;7
MV-G:X>+CY.7FY^CIZO'R\_3U]O?X^?H1  (! @0$ P0'!00$  $"=P ! @,1
M! 4A,08205$'87$3(C*!"!1"D:&QP0DC,U+P%6)RT0H6)#3A)?$7&!D:)B<H
M*2HU-C<X.3I#1$5&1TA)2E-455976%E:8V1E9F=H:6IS='5V=WAY>H*#A(6&
MAXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&Q\C)RM+3U-76
MU]C9VN+CY.7FY^CIZO+S]/7V]_CY^O_  !$( %T K@,!$0 "$0$#$0'_V@ ,
M P$  A$#$0 _ /?Z "@ H * "@ H 1F"J68@ =2: ,6]\8>']/8K<:M;AQ_"
MK;C^E &+/\3]"3_417EQ_N0X'ZT 4)?BFN?W&A7+C_;D5: (3\4KSMX>/_@2
M!_2@!5^*5T/O>'FQ_LW(_P * +,7Q3M\?Z1HMW'_ +C*] %^W^)GAV4@3/<6
MQ/\ SUA( _+- &[8^(]%U$XL]4MI3Z"09_(T :E !0 4 % !0 4 % !0 4 %
M !0!SVM^--&T/Y9[D/+VCC^9C^ H XO4/B5J][E=*L8[*(]);CYW_P"^1Q0!
MR]Y+?ZHV[5-2N;L_W6?:@^BC H CCMX81B.)5^@H EH * #% !0 4 )@=Z (
M9+*VEY>%<^H&#0!:LK_6-*/_ !+M6N(U'_+.1BZ?D: .GL?B=?VJ[=4L _\
MTTB/RGZCJ/UH Z_2/&VCZKY:>=]FE?[JR\*_^ZW0_3K[4 ='0 4 % !0 4 %
M '.>)_&VE>%T2*=GN;^;B"RMQNED/T[#W/% 'EVI^,?$7B!V1YUM8.\-J3L3
MV+]7/TP/K0!G0VL<)WX+R'JS#)H L9]C^5 !GV/Y4 &: #- !F@!<T )F@ S
M0 9H ,T &: #@C!Z4 5S T3&2U81L?O*1E'^JG@T =9X7\4WD4J6<#B.X'_+
MC<2$Q3#_ *9.>4;_ &3D4 >DZ9K%OJ:LBAX;F/\ UD$HPZ'Z?UH T* "@ H
MX/QOXWGTV=-%T*(7.LW'"+GB/U9O0#]>GK0!Y2L'^EW(^UM>W<I_T[4&^],W
M]Q/1!Z#K0!ZG\-3;1Z3>H_EH!,,!L#^&@#N$-I(VU#"S>@P: '^3%_SR3_OD
M4 0F:P3[TEN/J5H \T^(4\+Z_;"!T91;<[""/O'TH Y/=0 NZ@ W4 &Z@ W4
M )NH -U !NH 7=0 ;J (;B%+B/:PY[$=0: .N\+:]_;#II&I3^3K$ _T*^'#
M.!_"WK_44 >AZ-JS7WFVMU&(;^V.V:/L?1A[&@#5H S];OGT[2+BXB7=.%Q$
MOJQZ4 >*:Y&?"6@O*\QFU[6'V/.?O =\>@ X% &7:QK:VR1+QM'/UH =+'#.
MH6:-9 .FX9Q0!TWPWMK:'QE$\4*(WD2#('TH ]@NW LISGI&W\J /%_!'A'1
M_$LMVE]"1Y**RE,=R>N: .JU#X::7I^DW$FCQSM>8'EIN #'('/% &AIOPYT
MN"%3J$LEU/CYL,43/L!S0!P.NV*6_BF[TW3H68+*$BB7+$G:./SS0!V&E?#5
M3$KZM>-YA',,' 7V+=Z -?\ X5WH.W&VXSZ^<: ,K4OAI%Y;/I=\Z2 <1S\@
M_B.10!Q=FL%IJ,FDZSHMX^H>;LA$%PJ;\C.,-@9X."#S0!L2Z!YD3)#X3UV&
M4CY7:>)@I]QNZ4 <U=VMUI]RUM>0/!,O)5QV]: -KPOX:G\07>YBT5C&?WDO
MJ?[J^_\ *@#M6^'>A(C.]Q=*JC))E  'Y4 <!>IHCZA/'I\\RVL2X665L^8W
MJ/;^= '-ZA+)!$M[ Q6:W8.K#MB@#U/2M<_MK3M(\26QQ<*NR8#^->C ^X-
M'H*.)$5U.5(R* .:\6ZS:Z9]FBN9%7S,E0QZD4 >/>-ICJ?B;3+C=F"* E!V
MSNYH I>;0 >;0!U/P^N!'XH\P]%MW_I0!Z=/J2-:SKGK&P_0T <!\,+E8)-2
M9O\ GG&/U- '=W_B"WTW3KF^FW-';QERJ_>;'0#W)XH \RN?B/XFN9"\4]M9
M(?NQQPARH]"S=3^% &]X"D:XGO\ Q!J#B6\E?RDD*@= -Q '3L* -[Q/=ZM>
M:4+;1)5AFD?$DGF;&5/]D^IH \^_X0O7=^_> ^<[_MIW9^N: .\\*7&M6&FR
MVNNW"W#1O_H\OF;W*8Z,>^#T/I0!D_$:UMM0TJ'40@,]JX5CZH3Q^1Q^= '&
MZ-/8S&*PNM'L9[D[L7-S?2P*^.0#@X!Q^>* .C@T.'46BA73=,M[59");FSU
M1YWCQSM (()/H<8SF@#O+2YM;*UCM;6-8H8QA5';_/K0!Y]XR\:-JC-IFGR8
ML5.)9!_RV/H/]G^= '&^;0 R5A)"\;=&4@T ;OPWO#H_A^ZAN9/W/VIBF>W
MS0![1H-VEYI,4L9RN2 : .)^*O@R7Q6VDO#-Y#V_F@/VW%05!_$$4 >261O!
MI\ECJ*,E_IEP\,@;KL<!E/TRIH ;Y_O0 >?[T ;_ (3N'34IVC/S"$_S% '7
M"]N2"">,'^5 ',>$;B6,W9B/&U ?UH U=>NYY-$N$?[AVY_,4 <-YWO0!V7A
M:^E&AE(FR$G8,/0D T 7=4UV]TRR%RL"RKO"MN8C:#T/'O0!C_\ "=W?_/G#
M_P!_&H LV_BK6;N,R6VDK*@.-RNV,T 5]7UG6+C29XKO2C;V[;0TFXG'/% &
M7I>EOJ98OE8!PS?X>] '9P2R6\:PVT*1IV5% R>F3CJ3ZT 9VI:S#<VLME_:
MT-LS$I*VUB0/08_6@#C9'$4K1"17"G 9<X8>HSVH 9YWO0 JR;F S0!=L[&[
MUNYL-&LOE4AI[A^R*S<$_@/UH ]Y\)6!TWPW:V[ AOF8Y]R<?IB@#7N(5G@:
M)NAH \V\6>%%U"5[J%-E^D?EO@?ZU,Y'U(/(_$4 >/7J/:W#)(NT@X(]#0!7
M\Z@#JO 8-QJ]TJ@G%OGC_>% '>/:LD4C;#PC'I[&@#D? 49G34L*3M$/Z@T
M;GB.W,7AR]<J1A5[?[0H \M\Z@#8\.Z\FD7S?: S6<^%E"C)7'1@.^/3TH ]
M)B@@O[3S(&CNK648W+\RL/0_X&@#-/@_2?,W_96'^R)&Q^5 &FMC':VP"HD%
MO&.^%51]30!S=P3XIODLM/R=-MVWRW&.)&]O8=O4T =+#IH@A2"&(K&O &/\
M\T <AXF\3+:R/IVFRYE7B>=#]P_W5/KZG\* 'Z1XDDO5\NYU&^$^0J""U23?
M['C.?YT 6]1M$U.%8KN37&V'*DZ4,J?P&<>U '#74-Q8S>5=02POU DC*%AZ
MX- $^FV5QJ=W':6R%Y9> !V'<T >V>%/#$&EP^1$-\C$-<38Y<]A]!T H [<
M *  , 4 +0!4O;);I,CY9%^ZU 'F7C7P4=25[BVB"7JCYH^@E'M[T >,W<$U
ME,T<RLI4[3D8(/H?0T %KJ5Y82-)9W4MM(PVEHGVDCTH M'Q+K;*5;6;TJ1@
M@S'D4 5[75K^QW_8[V>WWXW>4Y7=CIF@"6;7M6N86AN-4NYHF^\CRD@_A0!3
M$M "B6@":UU&[L9#)9W4ULYZF)RN: -0>,_$87;_ &S<8_X#G\\4 9UYJM]J
M!S>WL]SCH)9"1^72@"2VUW5;*'R;34KFWBSG9'(5&: )3XFUQE*MK-Z5(P1Y
MQY% &<),# X% #TN)(VW1NR-ZJ<&@"__ ,))K8_YC-]_W_:@"Y8PZUXGO(;=
MY[B\8?<$KE@@[G)Z"@#V/PEX0CTF#;$ ]PX_>W!'Z#VH [NWMTMHA&@X'4^M
M $M !0 4 13V\5PFV1<^A[B@#C/%'@"SUN-G=,3XP)D'S'V8?Q?SH \8\0_#
M_5M$9I$B,]L/XTY ^O<?C0!R3*\;;74J?0T )F@!<F@ YH 7)H .: %R: #F
M@!>: "@ S0!+!!-<.$AC9V/H* .^\-_#'4+]XYM0#6\1Y"$9<_\  >WXT >Q
MZ'X3L](M1##$(DZL <LY]6;O0!T*(L:!$4*HZ 4 .H * "@ H * "@"*6VAF
M'SH#[T <GK?PVT'60S-;B*0_Q1_*: //=6^"-]$6?3+Q)5[))\I_P_E0!Q]_
M\/?$VFDF72IG4?Q1C</TH PIM/N;5BMQ;2Q$=0Z$4 0B,>M "^50 >7B@ V"
M@"U;:3?7C;;:SFE/^PA- '1Z=\,_$^H;2-.>%#_%+\O\Z .TTCX)E2'U6]!]
M4B_Q/^% 'H6C>"]&T15^RVJAP/OGEOSH WXXDB&$0*/:@!] !0 4 % !0 4
M% !0 4 % !0 4 1R6\,O^LA1_P#>4&@#.F\,Z%<,6ETBS<GJ3"O^% %1O WA
M=SEM!LB?^N0H <G@GPQ&<IH=F/\ MD* +MOH&CVIS!I=I&?585']* +R11Q#
8$<:H/]D8H ?0 4 % !0 4 % !0 4 ?_9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367397836912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover Page - shares<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Apr. 25, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001069878<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">Trex Company, Inc.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Mar. 31,  2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">TREX<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">108,692,757<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-14649<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">54-1910453<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">2500 Trex Way<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Winchester<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">22601<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">VA<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">540<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">542-6300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common stock<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NYSE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367401043056">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements Of Comprehensive Income - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Income Statement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 373,635<span></span>
</td>
<td class="nump">$ 238,718<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="nump">204,023<span></span>
</td>
<td class="nump">144,290<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">169,612<span></span>
</td>
<td class="nump">94,428<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative expenses</a></td>
<td class="nump">50,600<span></span>
</td>
<td class="nump">37,480<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">119,012<span></span>
</td>
<td class="nump">56,948<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeExpenseNet', window );">Interest (income) expense, net</a></td>
<td class="num">(5)<span></span>
</td>
<td class="nump">1,985<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">119,017<span></span>
</td>
<td class="nump">54,963<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="nump">29,947<span></span>
</td>
<td class="nump">13,832<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 89,070<span></span>
</td>
<td class="nump">$ 41,131<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic earnings per common share</a></td>
<td class="nump">$ 0.82<span></span>
</td>
<td class="nump">$ 0.38<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic weighted average common shares outstanding</a></td>
<td class="nump">108,640,168<span></span>
</td>
<td class="nump">108,771,958<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted earnings per common share</a></td>
<td class="nump">$ 0.82<span></span>
</td>
<td class="nump">$ 0.38<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted weighted average common shares outstanding</a></td>
<td class="nump">108,790,625<span></span>
</td>
<td class="nump">108,916,261<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive income</a></td>
<td class="nump">$ 89,070<span></span>
</td>
<td class="nump">$ 41,131<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestIncomeExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net amount of operating interest income (expense).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.10)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367397966800">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 3,053<span></span>
</td>
<td class="nump">$ 1,959<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">373,470<span></span>
</td>
<td class="nump">41,136<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">123,885<span></span>
</td>
<td class="nump">107,089<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other assets</a></td>
<td class="nump">12,958<span></span>
</td>
<td class="nump">22,070<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">513,366<span></span>
</td>
<td class="nump">172,254<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">729,993<span></span>
</td>
<td class="nump">709,402<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease assets</a></td>
<td class="nump">25,010<span></span>
</td>
<td class="nump">26,233<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetIncludingGoodwill', window );">Goodwill and other intangible assets, net</a></td>
<td class="nump">18,058<span></span>
</td>
<td class="nump">18,163<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">6,531<span></span>
</td>
<td class="nump">6,833<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">1,292,958<span></span>
</td>
<td class="nump">932,885<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">49,350<span></span>
</td>
<td class="nump">23,963<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty', window );">Accrued expenses and other liabilities</a></td>
<td class="nump">91,940<span></span>
</td>
<td class="nump">56,734<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualCurrent', window );">Accrued warranty</a></td>
<td class="nump">4,901<span></span>
</td>
<td class="nump">4,865<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LinesOfCreditCurrent', window );">Line of credit</a></td>
<td class="nump">223,000<span></span>
</td>
<td class="nump">5,500<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">369,191<span></span>
</td>
<td class="nump">91,062<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred income taxes</a></td>
<td class="nump">67,226<span></span>
</td>
<td class="nump">72,439<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities</a></td>
<td class="nump">17,602<span></span>
</td>
<td class="nump">18,840<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualNoncurrent', window );">Non-current accrued warranty</a></td>
<td class="nump">18,233<span></span>
</td>
<td class="nump">17,313<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other long-term liabilities</a></td>
<td class="nump">16,560<span></span>
</td>
<td class="nump">16,560<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">488,812<span></span>
</td>
<td class="nump">216,214<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders' equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, $0.01 par value, 3,000,000 shares authorized; none issued and outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $0.01 par value, 360,000,000 shares authorized; 141,056,063 and 140,974,843 shares issued and 108,692,757 and 108,611,537 share outstanding, at March 31, 2024 and December 31, 2023, respectively</a></td>
<td class="nump">1,411<span></span>
</td>
<td class="nump">1,410<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">138,561<span></span>
</td>
<td class="nump">140,157<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">1,425,128<span></span>
</td>
<td class="nump">1,336,058<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury stock, at cost, 32,363,306 and 32,363,306 shares at March 31, 2024 and December 31, 2023</a></td>
<td class="num">(760,954)<span></span>
</td>
<td class="num">(760,954)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders' equity</a></td>
<td class="nump">804,146<span></span>
</td>
<td class="nump">716,671<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders' equity</a></td>
<td class="nump">$ 1,292,958<span></span>
</td>
<td class="nump">$ 932,885<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accrued liabilities and other liabilities current excluding warranty.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>trex_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetIncludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount of finite-lived intangible assets, indefinite-lived intangible assets and goodwill. Goodwill is an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized. Intangible assets are assets, not including financial assets, lacking physical substance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetIncludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LinesOfCreditCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LinesOfCreditCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount as of the balance sheet date of the aggregate standard product warranty liability that is expected to be paid within one year or the normal operating cycle, if longer. Does not include the balance for the extended product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount as of the balance sheet date of the aggregate standard product warranty liability that is expected to be paid after one year or beyond the normal operating cycle, if longer. Does not include the balance for the extended product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481520/505-30-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367397985760">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>Statement of Financial Position [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="nump">3,000,000<span></span>
</td>
<td class="nump">3,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">360,000,000<span></span>
</td>
<td class="nump">360,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">141,056,063<span></span>
</td>
<td class="nump">140,974,843<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">108,692,757<span></span>
</td>
<td class="nump">108,611,537<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonShares', window );">Treasury stock, shares</a></td>
<td class="nump">32,363,306<span></span>
</td>
<td class="nump">32,363,306<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367397907968">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Changes in Stockholders' Equity - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Additional Paid-In Capital [Member]</div></th>
<th class="th"><div>Retained Earnings [Member]</div></th>
<th class="th"><div>Treasury Stock [Member]</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning Balance at Dec. 31, 2022</a></td>
<td class="nump">$ 518,349<span></span>
</td>
<td class="nump">$ 1,408<span></span>
</td>
<td class="nump">$ 131,539<span></span>
</td>
<td class="nump">$ 1,130,674<span></span>
</td>
<td class="num">$ (745,272)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Beginning Balance, Shares at Dec. 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">108,743,423<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,098,410<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">41,131<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">41,131<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Employee stock plans</a></td>
<td class="nump">316<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">316<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Employee stock plans, Shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,504<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Shares withheld for taxes on awards</a></td>
<td class="num">(1,592)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(1,592)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Shares withheld for taxes on awards, Shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(28,773)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross', window );">Stock-based compensation</a></td>
<td class="nump">1,973<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">1,972<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross', window );">Stock-based compensation, Shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80,362<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending Balance at Mar. 31, 2023</a></td>
<td class="nump">560,177<span></span>
</td>
<td class="nump">$ 1,409<span></span>
</td>
<td class="nump">132,235<span></span>
</td>
<td class="nump">1,171,805<span></span>
</td>
<td class="num">$ (745,272)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Ending Balance, Shares at Mar. 31, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">108,803,516<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,098,410<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning Balance at Dec. 31, 2023</a></td>
<td class="nump">716,671<span></span>
</td>
<td class="nump">$ 1,410<span></span>
</td>
<td class="nump">140,157<span></span>
</td>
<td class="nump">1,336,058<span></span>
</td>
<td class="num">$ (760,954)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Beginning Balance, Shares at Dec. 31, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">108,611,537<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,363,306<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">89,070<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">89,070<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Employee stock plans</a></td>
<td class="nump">397<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">397<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Employee stock plans, Shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,640<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Shares withheld for taxes on awards</a></td>
<td class="num">(5,146)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,146)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Shares withheld for taxes on awards, Shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(55,103)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross', window );">Stock-based compensation</a></td>
<td class="nump">3,154<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">3,153<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross', window );">Stock-based compensation, Shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">130,683<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending Balance at Mar. 31, 2024</a></td>
<td class="nump">$ 804,146<span></span>
</td>
<td class="nump">$ 1,411<span></span>
</td>
<td class="nump">$ 138,561<span></span>
</td>
<td class="nump">$ 1,425,128<span></span>
</td>
<td class="num">$ (760,954)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Ending Balance, Shares at Mar. 31, 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">108,692,757<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,363,306<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number, before forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value, before forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367396919584">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Cash Flows - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>OPERATING ACTIVITIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 89,070<span></span>
</td>
<td class="nump">$ 41,131<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash used in operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">14,154<span></span>
</td>
<td class="nump">11,915<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred Income Taxes</a></td>
<td class="num">(5,212)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">3,155<span></span>
</td>
<td class="nump">1,972<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Loss (gain) on disposal of property, plant and equipment</a></td>
<td class="nump">2,122<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNoncashIncomeExpense', window );">Other non-cash adjustments</a></td>
<td class="nump">121<span></span>
</td>
<td class="nump">121<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingAssetsAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="num">(332,333)<span></span>
</td>
<td class="num">(204,014)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="num">(16,796)<span></span>
</td>
<td class="nump">13,571<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other assets</a></td>
<td class="num">(319)<span></span>
</td>
<td class="nump">291<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="nump">26,238<span></span>
</td>
<td class="nump">2,975<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities', window );">Accrued expenses and other liabilities</a></td>
<td class="nump">12,041<span></span>
</td>
<td class="nump">3,361<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable', window );">Income taxes receivable/payable</a></td>
<td class="nump">33,715<span></span>
</td>
<td class="nump">13,206<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash used in operating activities</a></td>
<td class="num">(174,044)<span></span>
</td>
<td class="num">(115,471)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>INVESTING ACTIVITIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Expenditures for property, plant and equipment</a></td>
<td class="num">(37,720)<span></span>
</td>
<td class="num">(39,192)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from sales of property, plant and equipment</a></td>
<td class="nump">106<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(37,614)<span></span>
</td>
<td class="num">(39,192)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>FINANCING ACTIVITIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromLinesOfCredit', window );">Borrowings under line of credit</a></td>
<td class="nump">258,500<span></span>
</td>
<td class="nump">200,500<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfLinesOfCredit', window );">Principal payments under line of credit</a></td>
<td class="num">(41,000)<span></span>
</td>
<td class="num">(53,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Repurchases of common stock</a></td>
<td class="num">(5,145)<span></span>
</td>
<td class="num">(1,592)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions', window );">Proceeds from employee stock purchase and option plans</a></td>
<td class="nump">397<span></span>
</td>
<td class="nump">316<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_PaymentsForProceedsFromFinancingCosts', window );">Financing costs</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">30<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by financing activities</a></td>
<td class="nump">212,752<span></span>
</td>
<td class="nump">146,254<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash and cash equivalents</a></td>
<td class="nump">1,094<span></span>
</td>
<td class="num">(8,409)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, beginning of period</a></td>
<td class="nump">1,959<span></span>
</td>
<td class="nump">12,325<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, end of period</a></td>
<td class="nump">3,053<span></span>
</td>
<td class="nump">3,916<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental Disclosure:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Cash paid for interest, net of capitalized interest</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,817<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Cash paid for income taxes, net</a></td>
<td class="nump">1,444<span></span>
</td>
<td class="nump">733<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract', window );"><strong>Supplemental non-cash investing and financing disclosure:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_CapitalExpendituresInAccountsPayable', window );">Capital expenditures in accounts payable</a></td>
<td class="nump">$ 851<span></span>
</td>
<td class="nump">$ 229<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_CapitalExpendituresInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Capital expenditures in accounts payable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_CapitalExpendituresInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>trex_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_PaymentsForProceedsFromFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Payments for (proceeds from) financing costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_PaymentsForProceedsFromFinancingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>trex_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in accrued expenses, and obligations classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amounts payable to taxing authorities for taxes that are based on the reporting entity's earnings, net of amounts receivable from taxing authorities for refunds of overpayments or recoveries of income taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNoncashIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNoncashIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from issuance of shares under share-based payment arrangement. Includes, but is not limited to, option exercised.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367403129408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pay vs Performance Disclosure - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_PvpTable', window );"><strong>Pay vs Performance Disclosure</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="nump">$ 89,070<span></span>
</td>
<td class="nump">$ 41,131<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_PvpTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection v<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_PvpTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367400722352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Insider Trading Arrangements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrAdoptedFlag', window );">Non-Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrTrmntdFlag', window );">Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrTrmntdFlag', window );">Non-Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TradingArrByIndTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TradingArrByIndTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367398717696">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business and Organization<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NatureOfOperations', window );">Business and Organization</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">1.</div></div></td>
<td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">BUSINESS AND ORGANIZATION </div></div></td></tr></table><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Trex Company, Inc. (Trex or Company), is the world&#8217;s largest manufacturer of high-performance, <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">low-maintenance</div> wood-alternative decking and residential railing and outdoor living products and accessories, marketed under the brand name Trex<div style="font-size:75%; vertical-align:top;display:inline;font-size:8.3px">&#174;</div>, with more than 30 years of product experience. A majority of its products are manufactured in a proprietary process that combines reclaimed wood fibers and scrap polyethylene. The Company is incorporated in Delaware. The principal executive offices are located at 2500 Trex Way, Winchester, Virginia 22601, and the telephone number at that address is <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">(540)&#160;542-6300.</div> The Company operates in a <div style="-sec-ix-hidden:hidden113862737;display:inline;">single</div> reportable segment. </div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NatureOfOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//275/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NatureOfOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367403034944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock', window );">Basis of Presentation</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2.</div></div></td>
<td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">BASIS OF PRESENTATION </div></div></td></tr></table><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States for interim financial information and the instructions to Form <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">10-Q</div> and Article 10 of Regulation <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">S-X</div> and, accordingly, the accompanying unaudited condensed consolidated financial statements do not include all of the information and notes required by accounting principles generally accepted in the United States for complete financial statements. In the opinion of management, all adjustments (consisting of normal and recurring adjustments, except as otherwise described herein) considered necessary for a fair presentation have been included in the accompanying unaudited condensed consolidated financial statements. Certain reclassifications have been made to prior period balances to conform to current year presentation. The unaudited condensed consolidated financial statements include the accounts of the Company for all periods presented. Intercompany accounts and transactions have been eliminated in consolidation. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The unaudited consolidated results of operations for the three months ended March&#160;31, 2024, are not necessarily indicative of the results that may be expected for the fiscal year ending December&#160;31, 2024. The Company&#8217;s results of operations are affected by a number of factors, including, but not limited to, the cost to manufacture and distribute products, cost of raw materials, inflation, consumer spending and preferences, interest rates, the impact of any supply chain disruptions, economic conditions, and/or any adverse effects from global health pandemics and geopolitical conflicts. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">These unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto included in the Annual Report of Trex Company, Inc. on Form <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">10-K</div> for the year ended December&#160;31, 2023, as filed with the U.S. Securities and Exchange Commission. </div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480424/946-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480424/946-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//810/tableOfContent<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//205/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367400703424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Recently Adopted Accounting Standards<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingChangesAndErrorCorrectionsAbstract', window );"><strong>Accounting Changes and Error Corrections [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock', window );">Recently Adopted Accounting Standards</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">3.</div></div></td>
<td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">RECENTLY ADOPTED ACCOUNTING STANDARDS </div></div></td></tr></table><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">In December 2022, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">No.&#160;2022-06</div> &#8220;Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848.&#8221; The amendments in this update defer the sunset date of Topic 848 from December&#160;31, 2022 to December&#160;31, 2024, after which entities will no longer be permitted to apply the relief in Topic 848. In March 2020, the FASB issued ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">No.&#160;2020-04</div> &#8220;Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting.&#8221; These amendments provide temporary optional guidance to ease the potential burden in accounting for reference rate reform. ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">No.&#160;2020-04</div> provides optional expedients and exceptions for applying generally accepted accounting principles to contract modifications and hedging relationships, subject to meeting certain criteria, that reference the London Interbank Offered Rate (LIBOR) or another reference rate expected to be discontinued. The FASB included a sunset provision within Topic 848 based on the expectations of when the LIBOR would cease being published intended to help stakeholders during the global market-wide reference rate transition period. The guidance is effective for all entities as of March&#160;12, 2020 through December&#160;31, 2024 and can be adopted as of any date from the beginning of an interim period that includes or is subsequent to March&#160;12, 2020. The amendments did not have a material effect on the Company&#8217;s consolidated financial statements. </div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingChangesAndErrorCorrectionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingChangesAndErrorCorrectionsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 11.M.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480530/250-10-S99-5<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479832/842-10-65-5<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (f)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479832/842-10-65-5<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483550/848-10-65-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482833/825-10-65-6<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482833/825-10-65-6<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482833/825-10-65-6<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-4<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-4<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483194/926-20-65-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483194/926-20-65-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483194/926-20-65-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480530/250-10-S99-6<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 250<br> -Publisher FASB<br> -URI https://asc.fasb.org//250/tableOfContent<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -SubTopic 20<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481925/310-20-65-2<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -SubTopic 20<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481925/310-20-65-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367400274672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>New Accounting Standards Not Yet Adopted<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_NewAccountingStandardsNotYetAdoptedAbstract', window );"><strong>New Accounting Standards Not Yet Adopted [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_DescriptionOfNewAccountingStandardsNotYetAdoptedTextBlock', window );">New Accounting Standards Not Yet Adopted</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">4.</div></div></td>
<td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">NEW ACCOUNTING STANDARDS NOT YET ADOPTED </div></div></td></tr></table><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">In November 2023, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">No.&#160;2023-07,</div> &#8220;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures.&#8221; The guidance requires disclosure of significant segment expenses which are regularly provided to the chief operating decision maker (CODM), the composition of and amount of other segment items, the CODM&#8217;s title and position within the organization, and how the CODM uses the reported measure(s) of segment&#8217;s profit or loss to assess the performance of the segment. In addition, on an interim basis, all segment profit or loss and asset disclosures currently required on an annual basis must be reported, as well as those required by Topic 280. The guidance allows for multiple measure of a segment&#8217;s profit or loss to be reported. Entities which have a single reportable segment must apply Topic 280 in its entirety. The guidance is effective for fiscal years beginning after December&#160;15, 2023, and for interim periods beginning after December&#160;15, 2024. Early adoption is permitted. Entities are required to apply the amendments of this update retrospectively for all prior periods presented in the financial statements. The Company does not intend to early adopt the standard and does not expect adoption of this guidance to have a material effect on its consolidated results of operations and financial position. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">In December 2023, the FASB issued ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">No.&#160;2023-09,</div> &#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures.&#8221; The guidance requires public entities to disclose additional categories of information related to federal, state, and foreign income taxes and additional details related to reconciling items should they meet a quantitative threshold. The guidance requires disclosure of income taxes paid (net of refunds received) disaggregated by federal, state, and foreign taxes and to disaggregate the information by jurisdiction based on quantitative thresholds. The guidance is effective for fiscal years beginning after December&#160;15, 2024. Early adoption is permitted. The guidance should be applied on a prospective basis, retrospective application is permitted. The Company does not intend to early adopt the standard and does not expect adoption of the guidance to have a material effect on its consolidated results of operations and financial position. </div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_DescriptionOfNewAccountingStandardsNotYetAdoptedTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of new accounting standards not yet adopted.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_DescriptionOfNewAccountingStandardsNotYetAdoptedTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>trex_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_NewAccountingStandardsNotYetAdoptedAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>New accounting standards not yet adopted abstract</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_NewAccountingStandardsNotYetAdoptedAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>trex_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367400963888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureTextBlock', window );">Inventories</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">5.</div></div></td>
<td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">INVENTORIES </div></div></td></tr></table><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Inventories valued at LIFO <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">(last-in,</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">first-out),</div> consist of the following (in thousands): </div><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:68%;border:0;margin:0 auto">
<tr>
<td style="width:73%"></td>
<td style="vertical-align:bottom;width:6%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:5%"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Finished goods</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">89,619</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">88,840</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Raw materials</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">67,705</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">51,688</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total FIFO <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">(first-in,</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">first-out)</div> inventories</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">157,324</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">140,528</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Reserve to adjust inventories to LIFO value</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(33,439</td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(33,439</td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total LIFO inventories</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">123,885</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">107,089</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company utilizes the LIFO method of accounting, which generally provides for the matching of current costs with current revenues. However, under the LIFO method, reductions in annual inventory balances may cause a portion of the Company&#8217;s cost of sales to be based on historical costs rather than current year costs (LIFO liquidation). Reductions in interim inventory balances expected to be replenished by <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">year-end</div> do not result in a LIFO liquidation. Accordingly, interim LIFO calculations are based, in part, on management&#8217;s estimates of expected <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">year-end</div> inventory levels and costs and may differ from actual results. Since inventory levels and costs are subject to factors beyond management&#8217;s control, interim results are subject to the final <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">year-end</div> LIFO inventory valuation. There were no LIFO inventory liquidations or related impact on the cost of sales in the three months ended March&#160;31, 2024. </div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//330/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367492570112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Prepaid Expenses and Other Assets<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Text Block [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_PrepaidAndOtherCurrentAssetsDisclosureTextBlock', window );">Prepaid Expenses and Other Assets</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">6.</div></div></td>
<td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">PREPAID EXPENSES AND OTHER ASSETS </div></div></td></tr></table><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Prepaid expenses and other assets consist of the following (in thousands): </div><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:68%;border:0;margin:0 auto">
<tr>
<td style="width:74%"></td>
<td style="vertical-align:bottom;width:6%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:6%"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,<br/> 2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Prepaid expenses</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12,329</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">11,830</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Income tax receivable</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9,611</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">629</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">629</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total prepaid expenses and other assets</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12,958</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">22,070</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_PrepaidAndOtherCurrentAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure pertaining to prepaid and other current assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_PrepaidAndOtherCurrentAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>trex_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367398684832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Other Intangible Assets, Net<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">Goodwill and Other Intangible Assets, Net</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">7.</div></div></td>
<td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">GOODWILL AND OTHER INTANGIBLE ASSETS, NET </div></div></td></tr></table><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The carrying amount of goodwill at March&#160;31, 2024, and December&#160;31, 2023, was $14.2&#160;million. The Company&#8217;s intangible assets, purchased in 2018, consist of domain names. At March&#160;31, 2024, and December&#160;31, 2023, intangible assets were $6.3&#160;million and accumulated amortization was $2.5&#160;million and $2.4&#160;million, respectively. Intangible asset amounts were determined based on the estimated economics of the asset and are amortized over the estimated useful lives on a straight-line basis over 15 years, which approximates the pattern in which the economic benefits are expected to be received. </div><div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"> </div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">The Company evaluates the recoverability of intangible assets periodically and considers events or circumstances that may warrant revised estimates of useful lives or that may indicate an impairment. Intangible asset amortization expense for the three months ended March&#160;31, 2024, and March&#160;31, 2023, was $0.1&#160;million and $0.1&#160;million, respectively. </div><div style="font-size:18pt;margin-top:0pt;margin-bottom:0pt"></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//350/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367492468000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Expenses and Other Liabilities<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Payables and Accruals [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock', window );">Accrued Expenses and Other Liabilities</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">8.</div></div></td>
<td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">ACCRUED EXPENSES AND OTHER LIABILITIES </div></div></td></tr></table><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Accrued expenses and other liabilities consist of the following (in thousands): </div><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:76%"></td>
<td style="vertical-align:bottom;width:6%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:6%"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Sales and marketing</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">33,754</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">15,496</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Income Taxes</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">24,104</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Compensation and benefits</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">16,719</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">25,859</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="-sec-ix-hidden:hidden113862998;display:inline;">Operating</div> <div style="-sec-ix-hidden:hidden113862999;display:inline;">lease liabilities</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7,629</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7,663</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Manufacturing costs</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,193</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,382</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">6,541</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4,334</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total accrued expenses and other liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">91,940</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">56,734</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for accounts payable, accrued expenses, and other liabilities that are classified as current at the end of the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367400965488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureTextBlock', window );">Debt</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">9.</div></div></td>
<td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">DEBT </div></div></td></tr></table><div style="margin-top:6pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"><div style="font-style:italic;display:inline;">Revolving Credit Facility </div></div></div><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">On May&#160;18, 2022, the Company entered into a Credit Agreement (Credit Agreement) with certain lending parties thereto (Lenders) to amend and restate the Fourth Amended and Restated Credit Agreement dated as of November&#160;5, 2019. Under the Credit Agreement, the Lenders agreed to provide the Company with one or more Revolving Loans in a collective maximum principal amount of $400,000,000 (Loan Limit) throughout the term, which ends May 18, 2027 (Term). Included within the Loan Limit are sublimits for a Letter of Credit facility in an amount not to exceed $60,000,000; and Swing Line Loans in an aggregate principal amount at any time outstanding not to exceed $20,000,000. The Revolving Loans, the Letter of Credit facility and the Swing Line Loans are for the purpose of raising working capital and supporting general business operations. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">On December&#160;22, 2022, the Company entered into a First Amendment to the Credit Agreement (First Amendment). As a part of the First Amendment, the Credit Agreement was amended and restated to provide for an additional Revolving B Loan (as hereinafter defined). Under the First Amendment, the Lenders agreed to provide the Company with a Revolving B Loan consisting of one or more revolving loans in a collective maximum principal amount of $150,000,000 (Revolving B Loan Limit) throughout the term, which ends December&#160;22, 2024 (Revolving B Loan Term). Previously, under the Credit Agreement, there was no Revolving B Loan. The First Amendment also provided that TD Bank, N.A. would serve as Syndication Agent. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">In conjunction with the First Amendment, on December&#160;22, 2022, the Credit Agreement was amended and restated to refer to this loan as the Revolving A Loan. The amended and restated Credit Agreement was made an Exhibit A to the First Amendment. All of the terms of the Credit Agreement apply to the Revolving B Loan. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Notes provide the Company, in the aggregate, the ability to borrow an amount up to the Revolving A Loan Limit during the Revolving A Loan Term and Revolving B Loan Limit during the Revolving B Loan Term. The Company is not obligated to borrow any amount under the revolving loans. Within the respective loan limit, the Company may borrow, repay and reborrow at any time or from time to time while the Notes are in effect. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Base Rate Loans (as defined in the Credit Agreement) under the Revolving A Loan and the Swing Line Loans accrue interest at the Base Rate plus the Applicable Rate (as defined in the Credit Agreement) and Term SOFR Loans for the Revolving Loans accrue interest at the rate per annum equal to the sum of Term SOFR for such interest period&#160;plus&#160;the Applicable Rate (as defined in the Credit Agreement). The Base Rate for any day is a fluctuating rate per annum equal to the highest of (a)&#160;the Federal Funds Rate plus 0.50%, (b) the rate of interest in effect for such day as publicly announced from time to time by BOA as its prime rate, and (c)&#160;the Term SOFR plus 1.0% subject to certain interest rate floors. Repayment of all then outstanding principal, interest, fees and costs is due at the end of the Term. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">With respect to Revolving B Loans (as defined in the First Amendment), for any day, the rate per annum is a tiered pricing based upon the Consolidated Debt to Consolidated EBITDA Ratio. The applicable rate for Revolving B Loans that are Base Rate Loans range between 1.20% and 2.15% and the applicable rate for Revolving B Loans that are Term SOFR/Term SOFR Daily Floating Rate range between 0.20% and 1.15%. </div><div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"> </div><div style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Under the terms of the Security and Pledge Agreement, the Company, subject to certain permitted encumbrances, as collateral security for the above-stated loans and all other present and future indebtedness of the Company owing to the Lenders grants a continuing security interest in certain collateral described and defined in the Security and Pledge Agreement but excluding the Excluded Property (as defined in the Security and Pledge Agreement). </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company had $223&#160;million in borrowings outstanding under its revolving credit facility and available borrowing capacity of $327&#160;million at March&#160;31, 2024. The weighted average interest rate on the revolving credit facility was 6.22% as of March&#160;31, 2024. </div><div style="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"><div style="font-style:italic;display:inline;">Compliance with Debt Covenants and Restrictions </div></div></div><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Pursuant to the terms of the Credit Agreement, the Company is subject to certain loan compliance covenants. The Company was in compliance with all covenants as of&#160;March 31, 2024. Failure to comply with the financial covenants could be considered a default of repayment obligations and, among other remedies, could accelerate payment of any amounts outstanding. </div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//470/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367398695488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Leases</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">10.</div></div></td>
<td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">LEASES </div></div></td></tr></table><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company leases manufacturing and training facilities, storage warehouses, office space, and certain plant equipment under various operating leases. The Company&#8217;s operating leases have remaining lease terms of 1 year to 5 years. Lease terms may include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">For the three months ended March&#160;31, 2024 and March&#160;31, 2023, total operating lease expense was $2.0&#160;million and $2.1&#160;million, respectively. The weighted average remaining lease term at March&#160;31, 2024 and December&#160;31, 2023 was 4.2 years and 4.4 years, respectively. The weighted average discount rate at March&#160;31, 2024 and December&#160;31, 2023 was 2.38% and 2.32%, respectively. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The following table includes supplemental cash flow information for the three months ended March&#160;31, 2024 and March&#160;31, 2023, and supplemental balance sheet information at March&#160;31, 2024 and December&#160;31, 2023 related to operating leases (in thousands): </div><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:81%"></td>
<td style="vertical-align:bottom;width:4%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:4%"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three&#160;Months&#160;Ended</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 0.5pt;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; font-size: 8pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Supplemental cash flow information</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Cash paid for amounts included in the measurement of operating lease liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8194;2,007</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,120</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Operating ROU assets obtained in exchange for lease liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">578</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,541</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr></table><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:74%"></td>
<td style="vertical-align:bottom;width:7%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:7%"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:9pt">
<td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 0.5pt;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; font-size: 9pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Supplemental balance sheet information</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,<br/> 2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Operating lease ROU assets</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">25,010</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">26,233</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Operating lease liabilities:</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Accrued expenses and other current liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7,629</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7,663</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Operating lease liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">17,602</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">18,840</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total operating lease liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">25,231</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">26,503</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The following table summarizes maturities of operating lease liabilities at March&#160;31, 2024 (in thousands): </div><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:68%;border:0;margin:0 auto">
<tr>
<td style="width:88%"></td>
<td style="vertical-align:bottom;width:5%"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td colspan="4" style="vertical-align:bottom;white-space:nowrap"><div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; font-size: 8pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Maturities of operating lease liabilities</div></div></td>
<td style="vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2024</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,942</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2025</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,950</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2026</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,051</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2027</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4,549</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2028</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,982</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Thereafter</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">934</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total lease payments</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">26,408</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Less imputed interest</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,177</td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total operating lease liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">25,231</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//842-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367495737792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financial Instruments<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsAllOtherInvestmentsAbstract', window );"><strong>Investments, All Other Investments [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentsDisclosureTextBlock', window );">Financial Instruments</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">11.</div></div></td>
<td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">FINANCIAL INSTRUMENTS </div></div> </td> </tr> </table> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company considers the recorded value of its financial assets and liabilities, consisting primarily of cash and cash equivalents, accounts receivable, accounts payable, accrued expenses, other current liabilities, and debt to approximate the fair value of the respective assets and liabilities on the Condensed Consolidated Balance Sheets at March&#160;31, 2024 and December&#160;31, 2023. </div> <div style="font-size:18pt;margin-top:0pt;margin-bottom:0pt"></div> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for financial instruments. This disclosure includes, but is not limited to, fair value measurements of short and long term marketable securities, international currencies forward contracts, and auction rate securities. Financial instruments may include hedging and non-hedging currency exchange instruments, derivatives, securitizations and securities available for sale at fair value. Also included are investment results, realized and unrealized gains and losses as well as impairments and risk management disclosures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentsAllOtherInvestmentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentsAllOtherInvestmentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367400862880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">Stockholders' Equity</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">12.</div></div></td>
<td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">STOCKHOLDERS&#8217; EQUITY </div></div> </td> </tr> </table> <div style="margin-top:6pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"><div style="font-style:italic;display:inline;">Earnings Per Share </div></div></div>  <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The following table sets forth the computation of basic and diluted earnings per share (in thousands, except share and per share data): </div> <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:70%"></td>
<td style="vertical-align:bottom;width:9%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:9%"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three Months Ended</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Numerator:</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Net income available to common shareholders</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">89,070</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">41,131</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Denominator:</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Basic weighted average shares outstanding</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">108,640,168</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">108,771,958</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Effect of dilutive securities:</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Stock appreciation rights and options</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">71,202</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">70,004</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Restricted stock</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">79,255</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">74,299</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Diluted weighted average shares outstanding</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">108,790,625</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">108,916,261</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Basic earnings per share</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">0.82</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">0.38</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Diluted earnings per share</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">0.82</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">0.38</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table>  <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Diluted earnings per share is computed using the weighted average number of shares determined for the basic earnings per share computation plus the dilutive effect of common stock equivalents using the treasury stock method. The computation of diluted earnings per share excludes the following potentially dilutive securities because the effect would be anti-dilutive: </div> <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:67%"></td>
<td style="vertical-align:bottom;width:8%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:4%"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;&#160;&#160;</td>
<td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three&#160;Months&#160;Ended</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Stock appreciation rights</div> </td>
<td style="vertical-align:bottom">&#160;&#160;&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8199;&#8199;&#8199;&#8201;&#8201;&#8199;55,132</td>
<td style="white-space:nowrap;vertical-align:bottom">&#8195;&#8195;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8199;&#8199;&#8199;&#8201;&#8201;108,749</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Restricted stock</div> </td>
<td style="vertical-align:bottom">&#160;&#160;&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">48,597</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">107,571</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr> </table>  <div style="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"><div style="font-style:italic;display:inline;">Stock Repurchase Program </div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">On February&#160;16, 2018, the Board of Directors adopted the 2018 Stock Repurchase Program of up to 11.6&#160;million shares of the Company&#8217;s outstanding common stock (Stock Repurchase Program). On May&#160;4, 2023, the Trex Board of Directors adopted a new stock repurchase program (2023 Stock Repurchase Program) of up to 10.8&#160;million shares of its outstanding common stock, and terminated the existing Stock Repurchase Program. The 2023 Stock Repurchase Program has no set expiration date. During the three months ended March&#160;31, 2024, Trex did not repurchase any shares of its outstanding common stock under the 2023 Stock Repurchase Program. </div> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480237/815-40-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//505/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-16<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367403113936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue From Contracts With Customers<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue From Contracts With Customers</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">13.</div></div></td>
<td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">REVENUE FROM CONTRACTS WITH CUSTOMERS </div></div> </td> </tr> </table> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company principally generates revenue from the manufacture and sale of its high-performance, <div style="white-space:nowrap;display:inline;">low-maintenance,</div> <div style="white-space:nowrap;display:inline;">eco-friendly</div> wood-alternative composite decking and railing products and accessories. Substantially all of its revenues are from contracts with customers, which are purchase orders of short-term duration of less than one year. Its customers, in turn, sell primarily to the residential market, which includes replacement, remodeling and new construction related to outdoor living products. The Company satisfies its performance obligations at a point in time. The shipment </div> <div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</div> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"> </div> <div></div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">of each product is a separate performance obligation as the customer is able to derive benefit from each product shipped and no performance obligation remains after shipment. Upon shipment of the product, the customer obtains control over the distinct product and Trex satisfies its performance obligation. Any performance obligation that remains unsatisfied at the end of a reporting period is part of a contract that has an original expected duration of one year or less. Any variable consideration related to the unsatisfied performance obligation is allocated wholly to the unsatisfied performance obligation, is recognized when the product ships and the performance obligation is satisfied and is included in &#8220;Accrued expenses and other liabilities, Sales and marketing&#8221; in Note 8 to the Condensed Consolidated Financial Statements. For the three months ended March&#160;31, 2024 and March&#160;31, 2023, the Company&#8217;s net sales of $<div style="display:inline;">373,635</div> and $<div style="display:inline;">238,718</div>, respectively, were recognized at a point in time upon transfer of its outdoor living products under variable consideration contracts into the building products market. </div> <div style="font-size:18pt;margin-top:0pt;margin-bottom:0pt"></div> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-9<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-15<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367400443856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Disclosure of Compensation Related Costs, Share-based Payments [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Stock-Based Compensation</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">14.</div></div></td>
<td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">STOCK-BASED COMPENSATION </div></div> </td> </tr> </table> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">At the annual meeting of stockholders of the Company held on May&#160;4, 2023, the Company&#8217;s stockholders approved the Trex Company, Inc. 2023 Stock Incentive Plan (Plan). The Company&#8217;s board of directors unanimously approved the Plan on April&#160;10, 2023, subject to stockholder approval. The Plan amends and restates in its entirety the Trex Company, Inc. 2014 Stock Incentive Plan (2014 Plan), which was last approved by the Company&#8217;s stockholders at the annual meeting held on April&#160;30, 2014. The Plan, which will be administered by the compensation committee of the board of directors, provides for the grant of stock options, restricted stock, restricted stock units, stock appreciation rights and unrestricted stock, which are referred to collectively as &#8220;awards.&#8221; Awards may be granted under the Plan to officers, directors (including <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">non-employee</div> directors) and other employees of the Company or any subsidiary thereof, to any adviser, consultant, or other provider of services to the Company (and any employee thereof), and to any other individuals who are approved by the board of directors as eligible to participate in the Plan. Only employees of the Company or any subsidiary thereof are eligible to receive incentive stock options. Subject to certain adjustments as provided in the Plan, the total number of shares of common stock available for future grants under the Plan is 4,000,000 shares. </div>  <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The following table summarizes the Company&#8217;s stock-based compensation grants for the three months ended March&#160;31, 2024: </div> <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:62%"></td>
<td style="vertical-align:bottom;width:13%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:13%"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Stock&#160;Awards&#160;Granted</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">Weighted-Average</div></div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Grant Price</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Per Share</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Time-based restricted stock units</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">48,628</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">90.86</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Performance-based restricted stock units (a)</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">80,371</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">81.01</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Stock appreciation rights</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">33,277</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">84.72</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr> </table> <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;">(a)</td>
<td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;">Includes 55,834 of target performance-based restricted stock unit awards granted during the three months ended March&#160;31, 2024, and adjustments of 25,315, and (778)&#160;to grants due to the actual performance level achieved for restricted stock and restricted stock units awarded in 2023 and 2021, respectively. </div> </td> </tr> </table>  <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The fair value of each SAR is estimated on the date of grant using a Black-Scholes option-pricing formula. For SARs issued in the three months ended March&#160;31, 2024 and March&#160;31, 2023, the data and assumptions shown in the following table were used: </div> <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:61%"></td>
<td style="vertical-align:bottom;width:16%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:15%"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three&#160;Months&#160;Ended</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31, 2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three&#160;Months&#160;Ended</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31, 2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Weighted-average fair value of grants</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">44.83</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">27.19</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Dividend yield</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">0</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">0</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Average risk-free interest rate</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4.3</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4.0</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Expected term (years)</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Expected volatility</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">51.2</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">49.5</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td> </tr> </table>  <div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</div> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"> </div> <div style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company recognizes stock-based compensation expense ratably over the period from the grant date to the earlier of: (1)&#160;the vesting date of the award, or (2)&#160;the date the grantee is eligible to retire without forfeiting the award. For performance-based restricted stock and performance-based restricted stock units, expense is recognized ratably over the performance and vesting period of each tranche based on management&#8217;s judgment of the ultimate award that is likely to be paid out based on the achievement of the predetermined performance measures. For the employee stock purchase plan, compensation expense is recognized related to the discount on purchases. Stock-based compensation expense is included in &#8220;Selling, general and administrative expenses&#8221; in the Condensed Consolidated Statements of Comprehensive Income. The following table summarizes the Company&#8217;s stock-based compensation expense (in thousands): </div> <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:82%"></td>
<td style="vertical-align:bottom;width:4%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:4%"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three&#160;Months&#160;Ended</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Stock appreciation rights</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">271</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">215</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Time-based restricted stock and restricted stock units</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,074</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">935</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Performance-based restricted stock and restricted stock units</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,642</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">724</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Employee stock purchase plan</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">166</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">98</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total stock-based compensation</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,153</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,972</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table>  <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Total unrecognized compensation cost related to unvested awards as of March&#160;31, 2024 was $23.7&#160;million. The cost of these unvested awards is being recognized over the requisite vesting period of each award. </div> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367514806016">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">15.</div></div></td>
<td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">INCOME TAXES </div></div> </td> </tr> </table> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company&#8217;s effective tax rate for the three months ended March&#160;31, 2024 and March&#160;31, 2023, was 25.2%, which resulted in income tax expense of $29.9&#160;million and $13.8&#160;million, respectively. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">During the three months ended March&#160;31, 2024 and March&#160;31, 2023, the Company realized $0.6&#160;million and $0.2&#160;million, respectively, of excess tax benefits from stock-based awards and recorded a corresponding benefit to income tax expense. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company analyzes its deferred tax assets each reporting period, considering all available positive and negative evidence in determining the expected realization of those deferred tax assets. As of March&#160;31, 2024, the Company maintains a valuation allowance of $3.3&#160;million against deferred tax assets primarily related to state tax credits it estimates will expire before they are realized. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company operates in multiple tax jurisdictions, and, in the normal course of business, its tax returns are subject to examination by various taxing authorities. Such examinations may result in future assessments by these taxing authorities, and the Company accrues a liability when it believes that it is more likely than not that benefits of tax positions will not be realized. The Company believes that adequate provisions have been made for all tax returns subject to examination. As of March&#160;31, 2024, for certain tax jurisdictions tax years 2020 through 2023 remain subject to examination.&#160;The Company believes that adequate provisions have been made for all tax returns subject to examination. Sales made to foreign distributors are not taxable in any foreign jurisdiction as the Company does not have a taxable presence in any foreign jurisdiction. </div> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//740/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482526/740-270-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367400948800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Seasonality<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Text Block [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_SeasonalityDisclosureTextBlock', window );">Seasonality</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">16.</div></div></td>
<td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">SEASONALITY </div></div> </td> </tr> </table> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The operating results for Trex have historically varied from quarter to quarter. Seasonal, erratic or prolonged adverse weather conditions in certain geographic regions reduce the level of home improvement and construction activity and can shift demand for its products to a later period. As part of its normal business practice and consistent with industry practice, Trex has historically offered incentive programs to its distributors and dealers to build inventory levels before the start of the prime deck-building season in order to ensure adequate availability of its product to meet anticipated seasonal consumer demand. The seasonal effects are often offset by the positive effect of the incentive programs. </div> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_SeasonalityDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Identifies seasonal trends affecting the demand for Trex products and quarterly net sales.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_SeasonalityDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>trex_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367398844224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">17.</div></div></td>
<td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;"><div style="font-weight:bold;display:inline;">COMMITMENTS AND CONTINGENCIES </div></div> </td> </tr> </table> <div style="margin-top:6pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"><div style="font-style:italic;display:inline;">Product Warranty </div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company warrants that for the applicable warranty period its products, when properly installed, used and maintained, will be free from material defects in workmanship and materials and its decking, cladding, fascia and railing products will not split, splinter, rot or suffer structural damage from termites or fungal decay. </div> <div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</div> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"> </div> <div style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Products sold on or after January&#160;1, 2023: The warranty period for residential use is 50 years for Transcend<div style="font-size:75%; vertical-align:top;display:inline;font-size:8.3px">&#174;</div> decking, 35 years for Select<div style="font-size:75%; vertical-align:top;display:inline;font-size:8.3px">&#174;</div> decking and Universal Fascia, and 25 years for Enhance<div style="font-size:75%; vertical-align:top;display:inline;font-size:8.3px">&#174;</div> decking and Transcend, Select, Enhance and Signature<div style="font-size:75%; vertical-align:top;display:inline;font-size:8.3px">&#174;</div> railing. The warranty period for commercial use is 10 years, excluding Signature railing and Transcend cladding, which each have a warranty period of 25 years. The Company further warrants that Trex Transcend, Trex Enhance and Trex Select decking and cladding and Universal Fascia products will not fade in color from light and weathering exposure more than a certain amount and will be resistant to permanent staining from food and beverage substances or mold and mildew, provided the stain is cleaned within seven days of appearance, for the warranty period referred to above. If there is a breach of such warranties, the Company has an obligation either to replace the defective product or refund the purchase price. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Products sold prior to January&#160;1, 2023: The warranty period is 25 years for residential use and 10&#160;years for commercial use. With respect to Trex Signature railing, the warranty period is 25 years for both residential and commercial use. The Company further warrants that Trex Transcend, Trex Enhance, Trex Select and Universal Fascia products will not fade in color more than a certain amount and will be resistant to permanent staining from food substances or mold, provided the stain is cleaned within seven days of appearance, for the warranty period referred to above. If there is a breach of such warranties, the Company has an obligation either to replace the defective product or refund the purchase price. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company maintains a warranty reserve for the settlement of its product warranty claims. The Company accrues for the estimated cost of product warranty claims at the time revenue is recognized based on such factors as historical claims experience and future claims experience. Management reviews and adjusts these estimates, if necessary, based on the differences between actual experience and historical estimates. Additionally, the Company accrues for warranty costs associated with occasional or unanticipated product quality issues if a loss is probable and can be reasonably estimated, as necessary. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company continues to receive and settle claims for decking products manufactured at its Nevada facility prior to 2007 that exhibit surface flaking and maintains a warranty reserve to provide for the settlement of these claims. Estimating the warranty reserve for surface flaking claims requires management to estimate (1)&#160;the number of claims to be settled with payment and (2)&#160;the average cost to settle each claim. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">To estimate the number of claims to be settled with payment, the Company utilizes actuarial techniques to determine a reasonable possible range of claims to be received and the percentage of those claims that will ultimately require payment (collectively, elements). Estimates for these elements are quantified using a range of assumptions derived from claim count history and the identification of factors influencing the claim counts to determine its best estimate of future claims for which to record a related liability. The cost per claim varies due to a number of factors, including the size of affected decks, the availability and type of replacement material used, the cost of production of replacement material and the method of claim settlement. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company monitors surface flaking claims activity each quarter for indications that its estimates require revision. Typically, a majority of surface flaking claims received in a year are received during the summer outdoor season, which spans the second and third quarters. It has been the Company&#8217;s practice to utilize the actuarial techniques discussed above during the third quarter, after a significant portion of all claims has been received for the fiscal year and variances to annual claims expectations are more meaningful. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The number of incoming claims received in the three months ended March&#160;31, 2024, was lower than the number of claims received in the three months ended March&#160;31, 2023, and lower than the Company&#8217;s expectations for 2024. Average cost per claim experienced in the three months ended March&#160;31, 2024, was lower than that experienced in the three months ended March&#160;31, 2023 and lower than the Company&#8217;s expectations for 2024. The Company believes the reserve at March&#160;31, 2024 is sufficient to cover future surface flaking obligations. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company&#8217;s analysis is based on currently known facts and a number of assumptions, as discussed above, and current expectations. Projecting future events such as the number of claims to be received, the number of claims that will require payment and the average cost of claims could cause the actual warranty liabilities to be higher or lower than those projected, which could materially affect the Company&#8217;s financial condition, results of operations or cash flows. The Company estimates that the annual number of claims received will continue to decline over time and that the average cost per claim will increase slightly, primarily due to inflation. If the level of claims received or average cost per claim differs materially from expectations, it could result in additional increases or decreases to the warranty reserve and a decrease or increase in earnings and cash flows in future periods. The Company estimates that a 10% change in the expected number of remaining claims to be settled with payment or the expected cost to settle claims may result in approximately a $1.0&#160;million change in the surface flaking warranty reserve. </div> <div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&#160;</div> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"> </div> <div style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The following is a reconciliation of the Company&#8217;s product warranty reserve (in thousands): </div> <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:84%;border:0;margin:0 auto">
<tr>
<td style="width:72%"></td>
<td style="vertical-align:bottom;width:4%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:3%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:3%"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="10" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three&#160;Months&#160;Ended&#160;March&#160;31,&#160;2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Product<br/> Warranty</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Surface<br/> Flaking</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Total</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Beginning balance, January&#160;1</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12,066</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">10,112</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">22,178</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Provisions and changes in estimates</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,068</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,068</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Settlements made during the period</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(924</td>
<td style="white-space:nowrap;vertical-align:bottom">)</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(188</td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,112</td>
<td style="white-space:nowrap;vertical-align:bottom">)</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Ending balance, March&#160;31</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">13,210</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9,924</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">23,134</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:84%;border:0;margin:0 auto">
<tr>
<td style="width:72%"></td>
<td style="vertical-align:bottom;width:4%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:3%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:3%"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="10" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three&#160;Months&#160;Ended&#160;March&#160;31,&#160;2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Product<br/> Warranty</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Surface<br/> Flaking</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Total</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Beginning balance, January&#160;1</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9,694</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">15,905</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">25,599</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Provisions and changes in estimates</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,945</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,945</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Settlements made during the period</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(551</td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(316</td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(867</td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Ending balance, March&#160;31</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">11,088</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">15,589</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">26,677</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table>  <div style="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"><div style="font-style:italic;display:inline;">Legal Matters </div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company has lawsuits, as well as other claims, pending against it which are ordinary routine litigation and claims incidental to the business.&#160;Management has evaluated the merits of these lawsuits and claims and believes that their ultimate resolution will not have a material effect on the Company&#8217;s consolidated financial condition, results of operations, liquidity or competitive position. </div> <div style="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"><div style="font-style:italic;display:inline;">Arkansas Facility </div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">In October 2021, the Company announced plans to add a third U.S.-based manufacturing facility located in Little Rock, Arkansas, on approximately 300 acres of land. The development approach and related expenditures for the new campus will be modular and calibrated to demand trends for the Company&#8217;s outdoor living products. Construction began on the new facility in the second quarter of 2022, and in July 2022, the Company entered into a design-build agreement. Construction for the new facility will be funded primarily through the Company&#8217;s ongoing cash generation or its line of credit. </div> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//450/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 440<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480327/954-440-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-4<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 440<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//440/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367403114448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Summary of Inventories</a></td>
<td class="text"><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Inventories valued at LIFO <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">(last-in,</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">first-out),</div> consist of the following (in thousands): </div><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:68%;border:0;margin:0 auto">
<tr>
<td style="width:73%"></td>
<td style="vertical-align:bottom;width:6%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:5%"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Finished goods</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">89,619</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">88,840</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Raw materials</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">67,705</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">51,688</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total FIFO <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">(first-in,</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">first-out)</div> inventories</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">157,324</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">140,528</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Reserve to adjust inventories to LIFO value</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(33,439</td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(33,439</td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total LIFO inventories</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">123,885</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">107,089</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367399978592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Prepaid Expenses and Other Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Text Block [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_PrepaidExpenseAndOtherAssetsCurrentTableTextBlock', window );">Summary of Prepaid Expenses and Other Assets</a></td>
<td class="text"><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Prepaid expenses and other assets consist of the following (in thousands): </div><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:68%;border:0;margin:0 auto">
<tr>
<td style="width:74%"></td>
<td style="vertical-align:bottom;width:6%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:6%"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,<br/> 2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Prepaid expenses</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12,329</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">11,830</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Income tax receivable</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9,611</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">629</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">629</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total prepaid expenses and other assets</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12,958</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">22,070</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_PrepaidExpenseAndOtherAssetsCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure pertaining to prepaid expense and other assets current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_PrepaidExpenseAndOtherAssetsCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>trex_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367400829152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Expenses and Other Liabilities (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Payables and Accruals [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock', window );">Summary of Accrued Expenses and Other Liabilities</a></td>
<td class="text"><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Accrued expenses and other liabilities consist of the following (in thousands): </div><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:76%"></td>
<td style="vertical-align:bottom;width:6%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:6%"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Sales and marketing</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">33,754</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">15,496</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Income Taxes</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">24,104</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Compensation and benefits</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">16,719</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">25,859</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="-sec-ix-hidden:hidden113862998;display:inline;">Operating</div> <div style="-sec-ix-hidden:hidden113862999;display:inline;">lease liabilities</div></div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7,629</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7,663</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Manufacturing costs</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,193</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,382</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">6,541</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4,334</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total accrued expenses and other liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">91,940</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">56,734</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accrued liabilities and other current liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>trex_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367492651696">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_SupplementalFinancialInformationOfOperatingLeasesTableTextBlock', window );">Supplemental Cash Flow information and Supplemental balance sheet information related to operating leases to operating leases</a></td>
<td class="text"><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The following table includes supplemental cash flow information for the three months ended March&#160;31, 2024 and March&#160;31, 2023, and supplemental balance sheet information at March&#160;31, 2024 and December&#160;31, 2023 related to operating leases (in thousands): </div><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:81%"></td>
<td style="vertical-align:bottom;width:4%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:4%"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three&#160;Months&#160;Ended</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 0.5pt;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; font-size: 8pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Supplemental cash flow information</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Cash paid for amounts included in the measurement of operating lease liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8194;2,007</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,120</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Operating ROU assets obtained in exchange for lease liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">578</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,541</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr></table><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:74%"></td>
<td style="vertical-align:bottom;width:7%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:7%"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:9pt">
<td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 0.5pt;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; font-size: 9pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Supplemental balance sheet information</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,<br/> 2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Operating lease ROU assets</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">25,010</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">26,233</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Operating lease liabilities:</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Accrued expenses and other current liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7,629</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7,663</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Operating lease liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">17,602</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">18,840</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total operating lease liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">25,231</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">26,503</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Maturities of operating lease liabilities</a></td>
<td class="text"><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The following table summarizes maturities of operating lease liabilities at March&#160;31, 2024 (in thousands): </div><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:68%;border:0;margin:0 auto">
<tr>
<td style="width:88%"></td>
<td style="vertical-align:bottom;width:5%"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td colspan="4" style="vertical-align:bottom;white-space:nowrap"><div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; font-size: 8pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Maturities of operating lease liabilities</div></div></td>
<td style="vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2024</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,942</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2025</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,950</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2026</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,051</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2027</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4,549</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2028</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,982</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Thereafter</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">934</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total lease payments</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">26,408</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Less imputed interest</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,177</td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total operating lease liabilities</div></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">25,231</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td></tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align:bottom"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_SupplementalFinancialInformationOfOperatingLeasesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Table includes supplemental cash flow information and supplemental balance sheet information related to operating leases</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_SupplementalFinancialInformationOfOperatingLeasesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>trex_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367400178176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Computation of Basic and Diluted Earnings Per Share</a></td>
<td class="text"> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The following table sets forth the computation of basic and diluted earnings per share (in thousands, except share and per share data): </div> <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:70%"></td>
<td style="vertical-align:bottom;width:9%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:9%"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three Months Ended</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Numerator:</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Net income available to common shareholders</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">89,070</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">41,131</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Denominator:</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Basic weighted average shares outstanding</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">108,640,168</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">108,771,958</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Effect of dilutive securities:</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom"></td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Stock appreciation rights and options</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">71,202</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">70,004</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Restricted stock</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">79,255</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">74,299</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Diluted weighted average shares outstanding</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">108,790,625</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">108,916,261</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Basic earnings per share</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">0.82</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">0.38</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Diluted earnings per share</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">0.82</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">0.38</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock', window );">Antidilutive Securities Excluded from Computation of Earnings Per Share</a></td>
<td class="text">The computation of diluted earnings per share excludes the following potentially dilutive securities because the effect would be anti-dilutive: <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:67%"></td>
<td style="vertical-align:bottom;width:8%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:4%"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;&#160;&#160;</td>
<td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three&#160;Months&#160;Ended</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Stock appreciation rights</div> </td>
<td style="vertical-align:bottom">&#160;&#160;&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8199;&#8199;&#8199;&#8201;&#8201;&#8199;55,132</td>
<td style="white-space:nowrap;vertical-align:bottom">&#8195;&#8195;&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8199;&#8199;&#8199;&#8201;&#8201;108,749</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Restricted stock</div> </td>
<td style="vertical-align:bottom">&#160;&#160;&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">48,597</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">107,571</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr> </table> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367398618832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock', window );">Summary of Stock-Based Compensation Expense</a></td>
<td class="text">The following table summarizes the Company&#8217;s stock-based compensation expense (in thousands): <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:82%"></td>
<td style="vertical-align:bottom;width:4%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:4%"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three&#160;Months&#160;Ended</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Stock appreciation rights</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">271</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">215</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Time-based restricted stock and restricted stock units</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,074</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">935</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Performance-based restricted stock and restricted stock units</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,642</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">724</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Employee stock purchase plan</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">166</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">98</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total stock-based compensation</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,153</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,972</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Summary of Assumptions Used to Estimate Fair Value of Each SAR</a></td>
<td class="text"> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The fair value of each SAR is estimated on the date of grant using a Black-Scholes option-pricing formula. For SARs issued in the three months ended March&#160;31, 2024 and March&#160;31, 2023, the data and assumptions shown in the following table were used: </div> <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:61%"></td>
<td style="vertical-align:bottom;width:16%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:15%"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three&#160;Months&#160;Ended</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31, 2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three&#160;Months&#160;Ended</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">March&#160;31, 2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Weighted-average fair value of grants</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">44.83</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">27.19</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Dividend yield</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">0</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">0</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Average risk-free interest rate</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4.3</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4.0</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Expected term (years)</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Expected volatility</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">51.2</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td>
<td style="vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">49.5</td>
<td style="white-space:nowrap;vertical-align:bottom">%&#160;</td> </tr> </table> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock', window );">Summary of Stock-Based Compensation Grants</a></td>
<td class="text"> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The following table summarizes the Company&#8217;s stock-based compensation grants for the three months ended March&#160;31, 2024: </div> <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto">
<tr>
<td style="width:62%"></td>
<td style="vertical-align:bottom;width:13%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:13%"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Stock&#160;Awards&#160;Granted</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;">Weighted-Average</div></div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Grant Price</div></div><br/> <div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Per Share</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Time-based restricted stock units</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">48,628</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">90.86</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Performance-based restricted stock units (a)</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">80,371</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">81.01</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Stock appreciation rights</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">33,277</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">84.72</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr> </table> <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left;">(a)</td>
<td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;">Includes 55,834 of target performance-based restricted stock unit awards granted during the three months ended March&#160;31, 2024, and adjustments of 25,315, and (778)&#160;to grants due to the actual performance level achieved for restricted stock and restricted stock units awarded in 2023 and 2021, respectively. </div> </td> </tr> </table> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of cost recognized for award under share-based payment arrangement by plan. Includes, but is not limited to, related tax benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (f)(2)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the weighted-average grant-date fair value of equity options or other equity instruments granted during the year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367495770960">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock', window );">Summary of Reconciliation of Company's Residential Product Warranty Reserve</a></td>
<td class="text"> <div style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The following is a reconciliation of the Company&#8217;s product warranty reserve (in thousands): </div> <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:84%;border:0;margin:0 auto">
<tr>
<td style="width:72%"></td>
<td style="vertical-align:bottom;width:4%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:3%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:3%"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="10" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three&#160;Months&#160;Ended&#160;March&#160;31,&#160;2024</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Product<br/> Warranty</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Surface<br/> Flaking</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Total</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Beginning balance, January&#160;1</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12,066</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">10,112</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">22,178</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Provisions and changes in estimates</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,068</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,068</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Settlements made during the period</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(924</td>
<td style="white-space:nowrap;vertical-align:bottom">)</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(188</td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,112</td>
<td style="white-space:nowrap;vertical-align:bottom">)</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Ending balance, March&#160;31</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">13,210</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9,924</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">23,134</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:84%;border:0;margin:0 auto">
<tr>
<td style="width:72%"></td>
<td style="vertical-align:bottom;width:4%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:3%"></td>
<td></td>
<td></td>
<td></td>
<td style="vertical-align:bottom;width:3%"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="10" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Three&#160;Months&#160;Ended&#160;March&#160;31,&#160;2023</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Product<br/> Warranty</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Surface<br/> Flaking</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;&#160;</td>
<td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;display:inline;"><div style="font-weight:bold;display:inline;">Total</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 0.5pt;">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Beginning balance, January&#160;1</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9,694</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">15,905</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">25,599</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Provisions and changes in estimates</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,945</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">&#8212;&#8194;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,945</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Settlements made during the period</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(551</td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(316</td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(867</td>
<td style="white-space:nowrap;vertical-align:bottom">)&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Ending balance, March&#160;31</div> </td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">11,088</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">15,589</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="white-space:nowrap;vertical-align:bottom">$</td>
<td style="white-space:nowrap;vertical-align:bottom;text-align:right;">26,677</td>
<td style="white-space:nowrap;vertical-align:bottom">&#160;</td> </tr>
<tr style="font-size:1px">
<td style="vertical-align:bottom"></td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align:bottom">&#160;&#160;</td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align:bottom"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367492468000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business and Organization - Additional Information (Detail)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2024 </div>
<div>Segment</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Number of reportable segments</a></td>
<td class="nump">1<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367401883184">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventories - Summary of Inventories (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoods', window );">Finished goods</a></td>
<td class="nump">$ 89,619<span></span>
</td>
<td class="nump">$ 88,840<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterials', window );">Raw materials</a></td>
<td class="nump">67,705<span></span>
</td>
<td class="nump">51,688<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryGross', window );">Total FIFO (first-in, first-out) inventories</a></td>
<td class="nump">157,324<span></span>
</td>
<td class="nump">140,528<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryLIFOReserve', window );">Reserve to adjust inventories to LIFO value</a></td>
<td class="num">(33,439)<span></span>
</td>
<td class="num">(33,439)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LIFOInventoryAmount', window );">Total LIFO inventories</a></td>
<td class="nump">$ 123,885<span></span>
</td>
<td class="nump">$ 107,089<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross amount, as of the balance sheet date, of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryLIFOReserve">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which inventory stated at last-in first-out (LIFO) is less than (in excess of) inventory stated at other inventory cost methods.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryLIFOReserve</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterials">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterials</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LIFOInventoryAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of LIFO (last in first out) inventory present at the reporting date when inventory is also valued using different valuation methods.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LIFOInventoryAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367400529392">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Prepaid Expenses and Other Assets - Summary of Prepaid Expenses and Other Assets (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsAbstract', window );"><strong>Prepaid Expense and Other Assets [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseCurrent', window );">Prepaid expenses</a></td>
<td class="nump">$ 12,329<span></span>
</td>
<td class="nump">$ 11,830<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesReceivable', window );">Income tax receivable</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">9,611<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Other</a></td>
<td class="nump">629<span></span>
</td>
<td class="nump">629<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Total prepaid expenses and other assets</a></td>
<td class="nump">$ 12,958<span></span>
</td>
<td class="nump">$ 22,070<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount due within one year of the balance sheet date (or one operating cycle, if longer) from tax authorities as of the balance sheet date representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.10)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482955/340-10-05-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483032/340-10-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367397815344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Other Intangible Assets, Net - Additional Information (Detail) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangible asset</a></td>
<td class="nump">$ 0.1<span></span>
</td>
<td class="nump">$ 0.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsGrossExcludingGoodwill', window );">Intangible Assets</a></td>
<td class="nump">6.3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6.3<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="nump">2.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2.4<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancingReceivablePortfolioSegmentAxis=us-gaap_ResidentialPortfolioSegmentMember', window );">Residential [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 14.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 14.2<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InternetDomainNamesMember', window );">Domain Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Amortization period</a></td>
<td class="text">15 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsGrossExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated amortization of intangible assets, excluding goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsGrossExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivablePortfolioSegmentAxis=us-gaap_ResidentialPortfolioSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivablePortfolioSegmentAxis=us-gaap_ResidentialPortfolioSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InternetDomainNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InternetDomainNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367401312608">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accrued Expenses and Other Liabilities - Summary of Accrued Expenses and Other Liabilities (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Payables and Accruals [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedMarketingCostsCurrent', window );">Sales and marketing</a></td>
<td class="nump">$ 33,754<span></span>
</td>
<td class="nump">$ 15,496<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedIncomeTaxesCurrent', window );">Income Taxes</a></td>
<td class="nump">24,104<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Compensation and benefits</a></td>
<td class="nump">16,719<span></span>
</td>
<td class="nump">25,859<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liabilities</a></td>
<td class="nump">7,629<span></span>
</td>
<td class="nump">7,663<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_AccruedManufacturingExpensesCurrent', window );">Manufacturing costs</a></td>
<td class="nump">3,193<span></span>
</td>
<td class="nump">3,382<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Other</a></td>
<td class="nump">6,541<span></span>
</td>
<td class="nump">4,334<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty', window );">Total accrued expenses and other liabilities</a></td>
<td class="nump">$ 91,940<span></span>
</td>
<td class="nump">$ 56,734<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList', window );">Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]</a></td>
<td class="text">Total accrued expenses and other liabilities<span></span>
</td>
<td class="text">Total accrued expenses and other liabilities<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accrued liabilities and other liabilities current excluding warranty.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>trex_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_AccruedManufacturingExpensesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accrued expenses related to manufacturing facilities primarily consisting of accrued utilities, equipment rentals and temporary labor expenses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_AccruedManufacturingExpensesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>trex_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedIncomeTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedIncomeTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedMarketingCostsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for the marketing, trade and selling of the entity's goods and services. Marketing costs would include expenditures for planning and executing the conception, pricing, promotion, and distribution of ideas, goods, and services; costs of public relations and corporate promotions; and obligations incurred and payable for sales discounts, rebates, price protection programs, etc. offered to customers and under government programs. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedMarketingCostsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates line item in statement of financial position that includes current operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367401643824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt - Additional Information (Detail) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>May 18, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Remaining available borrowing capacity</a></td>
<td class="nump">$ 327,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LinesOfCreditCurrent', window );">Outstanding borrowing capacity</a></td>
<td class="nump">$ 223,000,000<span></span>
</td>
<td class="nump">$ 5,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtWeightedAverageInterestRate', window );">Debt, Weighted Average Interest Rate</a></td>
<td class="nump">6.22%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member] | Fifth Amendment And Restated Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Revolving loans in a collective maximum principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 400,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityExpirationDate1', window );">Termination date of the Credit Agreement</a></td>
<td class="text">May 18,  2027<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member] | Fifth Amendment And Restated Agreement [Member] | Letter of Credit [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_LineOfCreditFacilityAdditionalBorrowingCapacity', window );">Revolving loans in a collective maximum principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">60,000,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member] | Fifth Amendment And Restated Agreement [Member] | Swingline Letter Of Credit [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_LineOfCreditFacilityAdditionalBorrowingCapacity', window );">Revolving loans in a collective maximum principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 20,000,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member] | Base Rate [Member] | Fifth Amendment And Restated Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Interest rate</a></td>
<td class="nump">0.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentDescriptionOfVariableRateBasis', window );">Debt instrument, description of variable rate basis</a></td>
<td class="text">the Federal Funds Rate plus 0.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member] | Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member] | Fifth Amendment And Restated Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Interest rate</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentDescriptionOfVariableRateBasis', window );">Debt instrument, description of variable rate basis</a></td>
<td class="text">the Term SOFR plus 1.0%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=trex_RevolvingBLoanMember', window );">Revolving B Loan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Long-Term Line of Credit</a></td>
<td class="nump">$ 150,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=trex_RevolvingBLoanMember', window );">Revolving B Loan [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt instrument, Interest rate, Stated percentage</a></td>
<td class="nump">2.15%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=trex_RevolvingBLoanMember', window );">Revolving B Loan [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt instrument, Interest rate, Stated percentage</a></td>
<td class="nump">1.20%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=trex_RevolvingBLoanMember', window );">Revolving B Loan [Member] | Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Interest rate</a></td>
<td class="nump">1.15%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=trex_RevolvingBLoanMember', window );">Revolving B Loan [Member] | Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Interest rate</a></td>
<td class="nump">0.20%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_LineOfCreditFacilityAdditionalBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line of Credit Facility, Additional Borrowing Capacity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_LineOfCreditFacilityAdditionalBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>trex_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage points added to the reference rate to compute the variable rate on the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentDescriptionOfVariableRateBasis">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of reference rate used for variable rate of debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentDescriptionOfVariableRateBasis</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtWeightedAverageInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average interest rate of debt outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtWeightedAverageInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityExpirationDate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Date the credit facility terminates, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityExpirationDate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LinesOfCreditCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LinesOfCreditCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_AgreementAxis=trex_FifthAmendmentAndRestatedAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_AgreementAxis=trex_FifthAmendmentAndRestatedAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_CreditFacilityOneAxis=us-gaap_LetterOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_CreditFacilityOneAxis=us-gaap_LetterOfCreditMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_CreditFacilityOneAxis=trex_SwinglineLetterOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_CreditFacilityOneAxis=trex_SwinglineLetterOfCreditMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_BaseRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_BaseRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=trex_RevolvingBLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=trex_RevolvingBLoanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367401037920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Additional Information (Detail) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate</a></td>
<td class="nump">2.38%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2.32%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Operating lease cost</a></td>
<td class="nump">$ 2.0<span></span>
</td>
<td class="nump">$ 2.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average remaining lease term</a></td>
<td class="text">4 years 2 months 12 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years 4 months 24 days<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LessorOperatingLeaseTermOfContract', window );">Operating Lease terms</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LessorOperatingLeaseTermOfContract', window );">Operating Lease terms</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LessorOperatingLeaseTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Term of lessor's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479773/842-30-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LessorOperatingLeaseTermOfContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367401296912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Supplemental Cash flow Information to operating leases (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashFlowOperatingActivitiesLesseeAbstract', window );"><strong>Supplemental cash flow information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Cash paid for amounts included in the measurement of operating lease liabilities</a></td>
<td class="nump">$ 2,007<span></span>
</td>
<td class="nump">$ 2,120<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Operating ROU assets obtained in exchange for lease liabilities</a></td>
<td class="nump">578<span></span>
</td>
<td class="nump">$ 1,541<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_SupplementalBalanceSheetInformationAbstract', window );"><strong>Supplemental balance sheet information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease ROU assets</a></td>
<td class="nump">25,010<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 26,233<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsAndLiabilitiesLesseeAbstract', window );"><strong>Operating lease liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities', window );">Accrued expenses and other current liabilities</a></td>
<td class="nump">7,629<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,663<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities</a></td>
<td class="nump">17,602<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,840<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total operating lease liabilities</a></td>
<td class="nump">$ 25,231<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 26,503<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents accrued expenses and other current liabilities of operating leases</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>trex_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_SupplementalBalanceSheetInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_SupplementalBalanceSheetInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>trex_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsAndLiabilitiesLesseeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsAndLiabilitiesLesseeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashFlowOperatingActivitiesLesseeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashFlowOperatingActivitiesLesseeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-5<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367500791680">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Maturities of Operating Lease Liabilities (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract', window );"><strong>Operating Lease Liabilities, Payments Due [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear', window );">2024</a></td>
<td class="nump">$ 5,942<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2025</a></td>
<td class="nump">5,950<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2026</a></td>
<td class="nump">5,051<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2027</a></td>
<td class="nump">4,549<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2028</a></td>
<td class="nump">3,982<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive', window );">Thereafter</a></td>
<td class="nump">934<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total lease payments</a></td>
<td class="nump">26,408<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less imputed interest</a></td>
<td class="num">(1,177)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total operating lease liabilities</a></td>
<td class="nump">$ 25,231<span></span>
</td>
<td class="nump">$ 26,503<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367396972544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Additional Information (Detail) - shares<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>May 04, 2023</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Feb. 16, 2018</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareRepurchaseProgramAxis=trex_TwoThousandEighteenStockRepurchaseProgramMember', window );">2018 Stock Repurchase Program [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Equity, Class of Treasury Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Common stock repurchase program, authorized shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,600,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareRepurchaseProgramAxis=trex_TwoThousandTwentyThreeStockRepurchaseProgramMember', window );">2023 Stock Repurchase Program [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Equity, Class of Treasury Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockSharesAcquired', window );">Number of shares repurchased by the Company</a></td>
<td class="nump">10,800,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Stock repurchased during period, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityClassOfTreasuryStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityClassOfTreasuryStockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares authorized to be repurchased by an entity's Board of Directors under a stock repurchase plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockSharesAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and are being held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockSharesAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareRepurchaseProgramAxis=trex_TwoThousandEighteenStockRepurchaseProgramMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareRepurchaseProgramAxis=trex_TwoThousandEighteenStockRepurchaseProgramMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareRepurchaseProgramAxis=trex_TwoThousandTwentyThreeStockRepurchaseProgramMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareRepurchaseProgramAxis=trex_TwoThousandTwentyThreeStockRepurchaseProgramMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367396981392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Computation of Basic and Diluted Earnings Per Share (Detail) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAbstract', window );"><strong>Numerator:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income available to common shareholders</a></td>
<td class="nump">$ 89,070<span></span>
</td>
<td class="nump">$ 41,131<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract', window );"><strong>Denominator:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic weighted average shares outstanding</a></td>
<td class="nump">108,640,168<span></span>
</td>
<td class="nump">108,771,958<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract', window );"><strong>Effect of dilutive securities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted weighted average shares outstanding</a></td>
<td class="nump">108,790,625<span></span>
</td>
<td class="nump">108,916,261<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic earnings per share</a></td>
<td class="nump">$ 0.82<span></span>
</td>
<td class="nump">$ 0.38<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted earnings per share</a></td>
<td class="nump">$ 0.82<span></span>
</td>
<td class="nump">$ 0.38<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=trex_StockAppreciationRightsMember', window );">Stock appreciation rights [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract', window );"><strong>Effect of dilutive securities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Dilutive securities</a></td>
<td class="nump">71,202<span></span>
</td>
<td class="nump">70,004<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract', window );"><strong>Effect of dilutive securities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Dilutive securities</a></td>
<td class="nump">79,255<span></span>
</td>
<td class="nump">74,299<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480454/718-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-22<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-23<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-28A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=trex_StockAppreciationRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=trex_StockAppreciationRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367401294304">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Antidilutive Securities Excluded from Computation of Earnings Per Share (Detail) - shares<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockMember', window );">Restricted stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Anti-dilutive securities excluded from the computation of diluted earnings per share</a></td>
<td class="nump">48,597<span></span>
</td>
<td class="nump">107,571<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_StockAppreciationRightsSARSMember', window );">Stock appreciation rights [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Anti-dilutive securities excluded from the computation of diluted earnings per share</a></td>
<td class="nump">55,132<span></span>
</td>
<td class="nump">108,749<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_StockAppreciationRightsSARSMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_StockAppreciationRightsSARSMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367495801856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue From Contracts With Customers - Additional Information (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 373,635<span></span>
</td>
<td class="nump">$ 238,718<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367396939504">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation - Additional Information (Detail) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">Unrecognized compensation cost related to unvested awards</a></td>
<td class="nump">$ 23.7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=trex_TwoThousandFourteenStockIncentivePlanMember', window );">2014 Stock Incentive Plan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Total aggregate number of shares of common stock that may be issued</a></td>
<td class="nump">4,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=trex_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember', window );">Performance-Based Restricted Stock and Performance-Based Restricted Stock Units [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of shares or rights issued</a></td>
<td class="nump">55,834<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_StockAppreciationRightsSARSMember', window );">Stock Appreciation Rights [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsMethodUsed', window );">Fair value assumptions method used</a></td>
<td class="text">Black-Scholes option-pricing formula<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of shares or rights issued</a></td>
<td class="nump">33,277<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=trex_PerformanceBasedRestrictedStockAdjustmentMember', window );">Performance Based Restricted Stock Adjustment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of shares or rights issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25,315<span></span>
</td>
<td class="num">(778)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsMethodUsed">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of method used to estimate fair value of award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsMethodUsed</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=trex_TwoThousandFourteenStockIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=trex_TwoThousandFourteenStockIncentivePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=trex_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=trex_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_StockAppreciationRightsSARSMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_StockAppreciationRightsSARSMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=trex_PerformanceBasedRestrictedStockAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=trex_PerformanceBasedRestrictedStockAdjustmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367397845840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation - Summary of Stock-Based Compensation Expenses (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 3,153<span></span>
</td>
<td class="nump">$ 1,972<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_StockAppreciationRightsSARSMember', window );">Stock Appreciation Rights [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">271<span></span>
</td>
<td class="nump">215<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=trex_TimeBasedRestrictedStockandRestrictedstockUnitsMember', window );">Time-Based Restricted Stock and Restricted Stock Units [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">1,074<span></span>
</td>
<td class="nump">935<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=trex_PerformanceBasedRestrictedStockAndrestrictedStockunitsMember', window );">Performance-Based Restricted Stock and Restricted Stock Units [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">1,642<span></span>
</td>
<td class="nump">724<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=trex_EmployeeStockPurchasePlanMember', window );">Employee Stock Purchase Plan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 166<span></span>
</td>
<td class="nump">$ 98<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_StockAppreciationRightsSARSMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_StockAppreciationRightsSARSMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=trex_TimeBasedRestrictedStockandRestrictedstockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=trex_TimeBasedRestrictedStockandRestrictedstockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=trex_PerformanceBasedRestrictedStockAndrestrictedStockunitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=trex_PerformanceBasedRestrictedStockAndrestrictedStockunitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=trex_EmployeeStockPurchasePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=trex_EmployeeStockPurchasePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367495896400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation - Summary of Assumptions Used to Estimate Fair Value of Each SAR (Detail) - Stock Appreciation Rights [Member] - $ / shares<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems', window );"><strong>Share Based Compensation Arrangement by Share Based Payment Award Fair Value Assumptions and Methodology [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted-average fair value of grants</a></td>
<td class="nump">$ 44.83<span></span>
</td>
<td class="nump">$ 27.19<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Dividend yield</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Average risk-free interest rate</a></td>
<td class="nump">4.30%<span></span>
</td>
<td class="nump">4.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (years)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected volatility</a></td>
<td class="nump">51.20%<span></span>
</td>
<td class="nump">49.50%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share Based Compensation Arrangement by Share Based Payment Award Fair Value Assumptions and Methodology [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>trex_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_StockAppreciationRightsSARSMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_StockAppreciationRightsSARSMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367500788736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation - Summary of Stock-Based Compensation Grants (Detail)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2024 </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=trex_TimeBasedRestrictedStockUnitsMember', window );">Time Based Restricted Stock Units [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Stock Awards Granted | shares</a></td>
<td class="nump">48,628<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice', window );">Weighted-Average Grant Price Per Share | $ / shares</a></td>
<td class="nump">$ 90.86<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=trex_PerformanceBasedRestrictedStockUnitsMember', window );">Performance Based Restricted Stock Units [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Stock Awards Granted | shares</a></td>
<td class="nump">80,371<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice', window );">Weighted-Average Grant Price Per Share | $ / shares</a></td>
<td class="nump">$ 81.01<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_StockAppreciationRightsSARSMember', window );">Stock Appreciation Rights [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Stock Awards Granted | shares</a></td>
<td class="nump">33,277<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice', window );">Weighted-Average Grant Price Per Share | $ / shares</a></td>
<td class="nump">$ 84.72<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share based compensation arrangement by share based payment award non options equity instruments granted weighted average grant price.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>trex_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=trex_TimeBasedRestrictedStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=trex_TimeBasedRestrictedStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=trex_PerformanceBasedRestrictedStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=trex_PerformanceBasedRestrictedStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_StockAppreciationRightsSARSMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_StockAppreciationRightsSARSMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367401574272">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Additional Information (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income Tax Contingency [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="nump">$ 3,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense (benefit)</a></td>
<td class="nump">$ 29,947<span></span>
</td>
<td class="nump">$ 13,832<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="nump">25.20%<span></span>
</td>
<td class="nump">25.20%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_ExcessTaxBenefitsFromStockBasedAwards', window );">Excess tax benefits from stock based awards</a></td>
<td class="nump">$ 600<span></span>
</td>
<td class="nump">$ 200<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=us-gaap_EarliestTaxYearMember', window );">Earliest Tax Year [Member] | Federal Tax Jurisdiction [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income Tax Contingency [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OpenTaxYear', window );">Tax years subject to examination</a></td>
<td class="text">2020<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=us-gaap_LatestTaxYearMember', window );">Latest Tax Year [Member] | Federal Tax Jurisdiction [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income Tax Contingency [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OpenTaxYear', window );">Tax years subject to examination</a></td>
<td class="text">2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_ExcessTaxBenefitsFromStockBasedAwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Excess Tax Benefits From Stock Based Awards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_ExcessTaxBenefitsFromStockBasedAwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>trex_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxContingencyLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxContingencyLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OpenTaxYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tax year that remains open to examination under enacted tax laws, in YYYY format.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OpenTaxYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:gYearListItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxPeriodAxis=us-gaap_EarliestTaxYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxPeriodAxis=us-gaap_EarliestTaxYearMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_InternalRevenueServiceIRSMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_InternalRevenueServiceIRSMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxPeriodAxis=us-gaap_LatestTaxYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxPeriodAxis=us-gaap_LatestTaxYearMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367393854256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies - Additional Information (Detail)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Mar. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Oct. 26, 2021 </div>
<div>a</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_ScheduleOfCommitmentsAndContingenciesLineItems', window );"><strong>Schedule Of Commitments And Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_SensitivityChangeInSurfaceFlakingWarrantyReserve', window );">Change in warranty reserve for disclosure purposes only | $</a></td>
<td class="nump">$ 1.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AreaOfLand', window );">Area of Land | a</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">300<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=trex_SurfaceFlakingWarrantyReserveMember', window );">Surface Flaking Warranty Reserve [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_ScheduleOfCommitmentsAndContingenciesLineItems', window );"><strong>Schedule Of Commitments And Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_PercentSensitivityChangeInExpectedSurfaceFlakingClaims', window );">Percentage change in warranty claims used as a threshold for disclosure</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GuaranteeObligationsByNatureAxis=trex_ResidentialUseMember', window );">Residential Use [Member] | Products Sold Prior to January One, Two Thousand and Twenty Three [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_ScheduleOfCommitmentsAndContingenciesLineItems', window );"><strong>Schedule Of Commitments And Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_WarrantyPeriod', window );">Warranty period</a></td>
<td class="text">25 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GuaranteeObligationsByNatureAxis=trex_CommercialUseMember', window );">Commercial Use [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_ScheduleOfCommitmentsAndContingenciesLineItems', window );"><strong>Schedule Of Commitments And Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_WarrantyPeriod', window );">Warranty period</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GuaranteeObligationsByNatureAxis=trex_CommercialUseMember', window );">Commercial Use [Member] | Products Sold Prior to January One, Two Thousand and Twenty Three [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_ScheduleOfCommitmentsAndContingenciesLineItems', window );"><strong>Schedule Of Commitments And Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_WarrantyPeriod', window );">Warranty period</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=trex_SignatureRailingAndTranscendCladdingMember', window );">Signature Railing And Transcend Cladding [Member] | Commercial Use [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_ScheduleOfCommitmentsAndContingenciesLineItems', window );"><strong>Schedule Of Commitments And Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_WarrantyPeriod', window );">Warranty period</a></td>
<td class="text">25 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=trex_TranscendDeckingMember', window );">Transcend Decking [Member] | Residential Use [Member] | Products Sold on or After January One, Two Thousand and Twenty Three [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_ScheduleOfCommitmentsAndContingenciesLineItems', window );"><strong>Schedule Of Commitments And Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_WarrantyPeriod', window );">Warranty period</a></td>
<td class="text">50 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=trex_SelectDeckingAndUniversalFasciaMember', window );">Select Decking And Universal Fascia [Member] | Residential Use [Member] | Products Sold on or After January One, Two Thousand and Twenty Three [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_ScheduleOfCommitmentsAndContingenciesLineItems', window );"><strong>Schedule Of Commitments And Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_WarrantyPeriod', window );">Warranty period</a></td>
<td class="text">35 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=trex_EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember', window );">Enhance Decking And Transcend, Select, Enhance And Signature Railing [Member] | Residential Use [Member] | Products Sold on or After January One, Two Thousand and Twenty Three [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_ScheduleOfCommitmentsAndContingenciesLineItems', window );"><strong>Schedule Of Commitments And Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_WarrantyPeriod', window );">Warranty period</a></td>
<td class="text">25 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=trex_SignatureRailingMember', window );">Signature Railing [Member] | Residential and Commercial Use [Member] | Products Sold Prior to January One, Two Thousand and Twenty Three [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_ScheduleOfCommitmentsAndContingenciesLineItems', window );"><strong>Schedule Of Commitments And Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_trex_WarrantyPeriod', window );">Warranty period</a></td>
<td class="text">25 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_PercentSensitivityChangeInExpectedSurfaceFlakingClaims">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_PercentSensitivityChangeInExpectedSurfaceFlakingClaims</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>trex_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_ScheduleOfCommitmentsAndContingenciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_ScheduleOfCommitmentsAndContingenciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>trex_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_SensitivityChangeInSurfaceFlakingWarrantyReserve">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_SensitivityChangeInSurfaceFlakingWarrantyReserve</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>trex_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_trex_WarrantyPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of years the Company warrants that its products will be free from material defects in workmanship and materials.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">trex_WarrantyPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>trex_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AreaOfLand">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area of land held.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AreaOfLand</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:areaItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=trex_SurfaceFlakingWarrantyReserveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=trex_SurfaceFlakingWarrantyReserveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GuaranteeObligationsByNatureAxis=trex_ResidentialUseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GuaranteeObligationsByNatureAxis=trex_ResidentialUseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplyCommitmentAxis=trex_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplyCommitmentAxis=trex_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GuaranteeObligationsByNatureAxis=trex_CommercialUseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GuaranteeObligationsByNatureAxis=trex_CommercialUseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=trex_SignatureRailingAndTranscendCladdingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=trex_SignatureRailingAndTranscendCladdingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=trex_TranscendDeckingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=trex_TranscendDeckingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplyCommitmentAxis=trex_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplyCommitmentAxis=trex_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=trex_SelectDeckingAndUniversalFasciaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=trex_SelectDeckingAndUniversalFasciaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=trex_EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=trex_EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=trex_SignatureRailingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=trex_SignatureRailingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GuaranteeObligationsByNatureAxis=trex_ResidentialAndCommercialUseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GuaranteeObligationsByNatureAxis=trex_ResidentialAndCommercialUseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140367400234592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies - Summary of Reconciliation of Company's Residential Product Warranty Reserve (Detail) - Surface Flaking Warranty Reserve [Member] - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Product Warranty Liability [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrual', window );">Beginning balance</a></td>
<td class="nump">$ 22,178<span></span>
</td>
<td class="nump">$ 25,599<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease', window );">Provisions and changes in estimates</a></td>
<td class="nump">2,068<span></span>
</td>
<td class="nump">1,945<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualPayments', window );">Settlements made during the period</a></td>
<td class="num">(1,112)<span></span>
</td>
<td class="num">(867)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrual', window );">Ending balance</a></td>
<td class="nump">23,134<span></span>
</td>
<td class="nump">26,677<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContingentConsiderationByTypeAxis=trex_ProductWarrantyMember', window );">Product Warranty [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Product Warranty Liability [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrual', window );">Beginning balance</a></td>
<td class="nump">12,066<span></span>
</td>
<td class="nump">9,694<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease', window );">Provisions and changes in estimates</a></td>
<td class="nump">2,068<span></span>
</td>
<td class="nump">1,945<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualPayments', window );">Settlements made during the period</a></td>
<td class="num">(924)<span></span>
</td>
<td class="num">(551)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrual', window );">Ending balance</a></td>
<td class="nump">13,210<span></span>
</td>
<td class="nump">11,088<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContingentConsiderationByTypeAxis=trex_SurfaceFlakingMember', window );">Surface Flaking [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Product Warranty Liability [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrual', window );">Beginning balance</a></td>
<td class="nump">10,112<span></span>
</td>
<td class="nump">15,905<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease', window );">Provisions and changes in estimates</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualPayments', window );">Settlements made during the period</a></td>
<td class="num">(188)<span></span>
</td>
<td class="num">(316)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrual', window );">Ending balance</a></td>
<td class="nump">$ 9,924<span></span>
</td>
<td class="nump">$ 15,589<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyLiabilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyLiabilityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount as of the balance sheet date of the aggregate standard product warranty liability. Does not include the balance for the extended product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in the standard product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard product warranty. Excludes extended product warranties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the standard product warranty accrual from changes in estimates attributable to preexisting product warranties. Excludes extended product warranties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=trex_SurfaceFlakingWarrantyReserveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=trex_SurfaceFlakingWarrantyReserveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContingentConsiderationByTypeAxis=trex_ProductWarrantyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContingentConsiderationByTypeAxis=trex_ProductWarrantyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContingentConsiderationByTypeAxis=trex_SurfaceFlakingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContingentConsiderationByTypeAxis=trex_SurfaceFlakingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>64
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( &>)J5@'04UB@0   +$    0    9&]C4')O<',O87!P+GAM
M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG
M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    " !GB:E83-Y**^\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+/
M3L,P#(=?!>7>.NTV$%&7"V@GD)"8!.(6)=X6K?FCQ*C=V].6K1."!^ 8^Y?/
MGR4W.@H=$KZD$#&1Q7S3N]9GH>.:'8BB ,CZ@$[E<DCXH;D+R2D:GFD/4>FC
MVB/4G-^"0U)&D8(16,29R&1CM- )%85TQAL]X^-G:B>8T8 M.O24H2HK8'*<
M&$]]V\ 5,,((D\O?!30S<:K^B9TZP,[)/MLYU75=V2VFW+!#!>_/3Z_3NH7U
MF937./S*5M IXII=)K\M'AZW&R9K7B\+OBKX_;:N1,7%ZNYC=/WA=Q5VP=B=
M_<?&%T'9P*^[D%]02P,$%     @ 9XFI6)E<G",0!@  G"<  !,   !X;"]T
M:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M
M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R
M>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2P]R"BPA+>!3+
MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,!
M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K
MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2
MBW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_KFVB<"HU;3]-K
M=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K>A(5M>5 TR
M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$
MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)I#-ZG7TZSFN4
M?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R.AQG0GS/]O:1
MI24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG LR+7E$8D19_(
M+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(R-^-B/>K;YH]
M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M
MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZ<TT#PE"\D^DJ1CVFS(Z=T)LWH
M,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.FJW"$2M"/F(9
M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+
MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T
M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+
M.7\N?<^E[[GT/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7<LW(QU2ODRG8
M.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD6R4)RU3393>*
M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W<DOJMI2^M28X
M2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-MNIW<.CB>F)&Y
M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_#
M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0
MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR
ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC
MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYN<KGHB=OJ7
M=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(CE1P&%A<RY%#N
MDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>TB42%(JP# 4A
M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF
M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'<YMZN,)%K/]8UA[Y,M\Y<-LZW@->
MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_
M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]!
MU4#E/]O4#6CV#30<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04
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
M(Y/\<"UX*)1] .XOI32'$_L/RNWI\7]02P,$%     @ 9XFI6)I@DI\N!
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
M)30C<L +FL.5)1<943 5*U,6@I*X$F6I:6/LFQEAN1&.JW,S$8YYJ5*6TYE
MLLPR(IYN:<HW$\,RGD_<LU6B] DS'!=D1>=4?2MF F9FZQ*SC.:2\1P)NIP8
M-];UU*H$5<1W1C=R:XQT*@O.'_3D<SPQL":B*8V4MB!P6-,I35/M!!R_&U.C
MO:<6;H^?W3]6R4,R"R+IE*<_6*R2B3$T4$R7I$S5/=]\HDU"GO:+>"JK?[2I
M8_W 0%$I%<\:,1!D+*^/Y+%9B"V!Y1X0V(W /E?@- *G2K0FJ]*Z(XJ$8\$W
M2.AH<-.#:FTJ-63#<OT8YTK 508Z%4YY'L-#H3&"D>0IBXF"R2U)21Y1--?&
M$KV=$4%SE5#%(I*^0^_1:V0BF<!9.385<&@W,VKN>5O?TSYPSR]$#)!C72$;
MVVZ/?'I<?D>C5NYTY29DWRZ!W2Z!7?DY!_SF"E*&RE2(+]%'ED/BC*1HQB6K
M*NWGS4(J ?7VJR_5VMOM]]:;\%H6)*(3 W:9I&)-C?#-*\O''_H2_T]FG65P
MVF5PCKF',]@_5 AX^%!TT<,5*HA :Y*6M"_MVBNHO/2K8AWB ;;&YGH[G1-!
M'4RWQ70OPZRK$)%2)5RP/S3NPZT]O2T2!U>_'>+3<1UHKX7V7@3-I"S[@;T]
MD%W48Q$=2+^%]%\$"2]_J4@>LWS51^J?)#T6T2$-6M+@*.F49QELS'/J-#BG
M3D\$=1B'+>/P L:SBG2X7WP^[BW3<R([U*.6>G0Y]>$J'>UQ6*Z%/1_[S@YQ
M7R0>!>[0=?J)+?SO"X8O9SY1M(UEAP</_9$=>,$.^8%0R_*<X #ZUL?7.HK^
M%3HO68JG+GPOL+7_R&W'=QSL[_*>$5GCFEMM@^[9X+N\8KE$*5V"% \"\!!U
M&U1/%"^J3F+!%?0EU3"!UI$*'0#7EYRKYXEN3MIF-/P+4$L#!!0    ( &>)
MJ5CV@PCH @8  .PF   8    >&PO=V]R:W-H965T<R]S:&5E=#4N>&ULK5I;
MCYLX&/TK5K;:B]0TOG#M9B)U$E#[T-6HT^X^K/;!$SP35, I.).9?[^&,"08
MQPVM7Q)(ON]\]CDVYACF>UY^K3:,"?"49T5U-=D(L7T[FU7K#<MI]89O62'_
MN>=E3H4\+1]FU;9D-&F2\FR&(?1F.4V+R6+>_'93+N9\)[*T8#<EJ'9Y3LOG
M:Y;Q_=4$35Y^^)0^;$3]PVPQW]('=LO$E^U-*<]F'4J2YJRH4EZ DMU?3=ZA
MMS$F=4(3\7?*]M7),:B[<L?YU_KD0W(U@76+6,;6HH:@\NN1+5F6U4BR'=]:
MT$E7LTX\/7Y!CYO.R\[<T8HM>?9/FHC-U228@(3=TUTF/O']>]9VR*WQUCRK
MFD^P;V/A!*QWE>!YFRQ;D*?%X9L^M42<)"!R)@&W"5A)P/A, FD3B)) O#,)
M3IO@J!7\,PENF^"J"<Z9!*]-\!KN#V0U3*^HH(MYR?>@K*,E6GW0R-5D2X+3
MHAY9MZ*4_Z8R3RR6O$CD.&$)D$<5S]*$"GER*^27'$"B OP>+#>T>& 52 OY
M!U]_W? L867U&XB^[5+Q#*;@R^T*_/[J#_"JCOF\X;N*%DDUGPG9Q+K0;-TV
MY_K0''RF.9^YH)DF;6E.6_(\YVWCP+\?67['RO\T,"LSS+LD2>OQ3C-P0]-D
M^J$ 2[I-99-,H)$9]!,3<H)+3B-:%FGQ4)FPXN_0(R\>U:Y\-O9T)H= -PYP
M-PYP@^R<0;YF#VE1-P]<TXP6:P:H "NV?@,(>@TPQ%@GY@'3:S#K:]CCPD4!
M<<+Y[/%4O&$8<F#0#UII@@ARB8(5:<(0@9[O]./B8=S4=USLXRZNQQ/I>"+C
M>'H-;C>TE)/C$KZ,V/4B\K;:TC6[FLA5HF+E(YLL?OT%>?!/W90X@+FG3,#
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
M+F)SID>4IV O!OA>.M#M#Q+@\.-G\1]02P,$%     @ 9XFI6+4(_'AZ @
M@@4  !D   !X;"]W;W)K<VAE971S+W-H965T,3$N>&ULG51A;]HP$/TK)T^:
M6FDE(="NZB!2"'2KM%)$8-,T[8-)CL1J8F>V*>V_G^U QB3@P[[$9_O>N_<<
MGP=;(9]5@:CAM2JY&I)"Z_K.\U1:8$551]3(S<Y:R(IJ,Y6YIVJ)-'.@JO0"
MW[_Q*LHX"0=N;2;#@=CHDG&<25";JJ+R;82EV Y)E^P7YBPOM%WPPD%-<TQ0
M+^N9-#.O9<E8A5PQP4'B>DBB[MVH;_-=PC>&6W40@W6R$N+93AZR(?&M("PQ
MU9:!FN$%8RQ+2V1D_-YQDK:D!1[&>_9[Y]UX65&%L2B_LTP70W)+(,,UW91Z
M+K9?<.?GVO*EHE3N"]LF]SH@D&Z4%M4.;!14C#<C?=V=PP'@UC\!"': P.EN
M"CF58ZII.)!B"])F&S8;.*L.;<0Q;G]*HJ7990:GPSFFR'7Y!E$F:HT91&DJ
M-EPSGD.B*<^HS-3 TZ:4!7CICG;4T 8G:'OP*+@N%$QXAMF_>,](;'4&>YVC
MX"SA(Y4=Z'4_0. '_3-\O=9WS_'U3O =V(P+RG-48,S"1$HA(192-K=&P<]H
MI;0TE^?7L5-HBO2/%[$-=:=JFN*0F(Y1*%^0A._?=6_\3V<L]%L+_7/L___K
MSM/V.C"?Q)/IXNL/B,9/L\5D#%$</RVGBX?I9T@6T70<S<<)/' 8&PG5"J7]
M*\$'T 7"/>.4IXR61^7 2)@!+NZC9'0)3*G-"=VPK#.J$2ZB9'D)4]%Q):[\
MFWWL7_G]P_C8@7H'?5&AS%WW*W#5FA9I5]L')FKZZF]Z\SJ9^Y<S<QU*7!NH
MW_EX34 V'=],M*A=EZV$-CWKPL(\DBAM@ME?"Z'W$UN@?7;#/U!+ P04
M" !GB:E8T:KPW'0"  "G!0  &0   'AL+W=O<FMS:&5E=',O<VAE970Q,BYX
M;6RE5%MOVC 4_BM'GC2U$B,A0-MU$"E<NO6A*6I@537MP20'8C6Q,]N4[M_/
M=B!#&^6E+_'M?)=CYYS!5LAGE2-J>"T+KH8DU[JZ]CR5YEA2U185<G.R$K*D
MVBSEVE.51)HY4%EX@>]?>"5EG(0#MS>3X4!L=,$XSB2H35E2^7N$A=@.28?L
M-Q[8.M=VPPL'%5UC@GI1S:19>0U+QDKDB@D.$E=#$G6N1ST;[P*^,]RJ@SG8
M3)9"/-O%;38DOC6$!:;:,E SO. 8B\(2&1N_=IRDD;3 P_F>_<;E;G)94H5C
M43RR3.=#<D4@PQ7=%/I!;+_A+I^^Y4M%H=P7MG5L/R"0;I06Y0YL')2,UR-]
MW=W# >#*?P,0[ "!\UT+.9<3JFDXD&(+TD8;-CMQJ3JT,<>X?91$2W/*#$Z'
ML;FW*$W%AFO&UY!HRC,J,P6QT/!D?HHH$Y7&;.!IHV8Q7KIC'M7,P1O,7;@3
M7.<*ICS[%^\9EXW58&]U%)PDO*.R#=U."P(_Z)W@ZS:I=QU?]YVIPX]HJ;0T
M_\_/8[=0B_2.B]B:NE8537%(3-$HE"](PH\?.A?^EQ,I])H4>J?8W_5ZIYE[
M;8BGCQ"-Q_>+>'X;?X5D'L63Z&&20'P_AZ?I'*+)_6P^G< M-WHO6"Y1VK?I
MMD#G"#>,4YXR6AQW.!)F@+.;*!F= U-J8R[Z:."BRJA&.(N2Q;G1:3N)3_YE
MR^I.,/U/US VA,GB /*Y=>S*O8/B*5&N78M0X)S4==3L-ETHJHOO;WC=PLP?
MNF9<08$K _7;EWT"LFX+]4*+RI7B4FA3V&Z:FTZ*T@:8\Y40>K^P DUO#O\
M4$L#!!0    ( &>)J5CIB#A8B ,  '@'   9    >&PO=V]R:W-H965T<R]S
M:&5E=#$S+GAM;(55VV[;.!!]]U<,U*)( -62)5^4U#:0*QI@VP9.VGU8[ ,M
MC2UN*5(EJ3C>K]\A92O.-DU?[.%PSIDS%&<XW2C]W92(%AXK(<TL**VM3Z/(
MY"56S/15C9)V5DI7S-)2KR-3:V2%!U4B2N)X'%6,RV ^];Y;/9^JQ@HN\5:#
M::J*Z>TY"K69!8-@[UCP=6F=(YI/:[;&.[1?ZUM-JZAC*7B%TG E0>-J%IP-
M3L^'+MX'?..X,0<VN$J62GUWBYMB%L1.$ K,K6-@]/> %RB$(R(9/W:<09?2
M 0_M/?NUKYUJ63*#%TK\R0M;SH(L@ )7K!%VH38?<5?/R/'E2AC_"YLV-DT"
MR!MC5;4#DX**R_:?/>[.X0"0Q;\ )#M XG6WB;S*2V;9?*K5!K2+)C9G^%(]
MFL1QZ3[*G=6TRPEGYS?R :55FJ.91I8(G3O*=^#S%IS\ IS")R5M:>!*%E@\
MQT<DI%.3[-6<)Z\2?F*Z#^D@A"1.AJ_PI5UUJ>=+?U/=%BZYR84RC4;XZVQI
MK*;K\/=+%;>$PY<)78N<FIKE. NH!PSJ!PSF[]X,QO&'5^0..[G#U]A_]S%>
M!X_Z<//YV]7G^R^+FZL[..""!R8:+(!9^./F^@L<"6;L>RY#6'%-%O7J<=BC
ML\_+[O#A$G.LEJCWGK1WS26GBU; 6JG"P%O(3L+QX,0969@-X]Z";>AJ6M2<
M"0/C23B)1S :A.,LZ]TKRP1<^_1MUN?Y83":A"GE'0SC<)1DO45[NF 5L.(?
M:@3@!Q61UY?B*X.C- V'Z0D</UF[A#[H$/@6!DD:9MG(6?$DC+.3WGV)<*&J
MFLDM-)8+_J_+0$Z/KM"6J@"UH@F2JT9:+M<A;$I.I[5&B9H)L85:JP=>$([F
MI,?20>0EA3I@WFA-"B!7QAIJ<%MV+HVDK4'3AX]J0[8.H:%FTO_/'U)DT?A)
M9J@@8%(V5!_O+OB2"29S$E"Q+>2L,0@,:J7][",-]JG(=V^R9##Y8+P>MV>8
M:,]TB7[$4;422F[<F>64I=6M&7$X84QV\K?(]&[[R*L5_$?#"^:R'O=A\4PS
ME^YN5"^)QL>:QC0E;D5HK 7N;MMRZ[.\1UG\;+S4=-'!-*Q0K_W,=\72MVL'
M8^?MGI6S=IH^A;=O$O7$FI-X@2N"QOW)* #=SOEV857M9^M269K4WBSI:43M
M FA_I93=+UR"[K&=_P=02P,$%     @ 9XFI6#M726VG @  Q@4  !D   !X
M;"]W;W)K<VAE971S+W-H965T,30N>&ULG51M;]I #/[.K[#2J=HD1-XH!0I(
M4#*U']HB8"_2M ]'8DC4Y"Z[.PK[]_-=(&-:RZ1]@+-]?A[;Y]B#G9#/*D74
ML"]RKH9.JG79=UT5IU@PU1(E<KI9"UDP3:K<N*J4R!(+*G(W\+R.6[",.Z.!
MM<WD:""V.L\XSB2H;5$P^7."N=@-'=\Y&N;9)M7&X(X&)=O@ O6G<B9)<VN6
M)"N0JTQPD+@>.F._/VD;?^OP.<.=.I'!5+(2XMDH]\G0\4Q"F&.L#0.CXP5O
M,<\-$:7QX\#IU"$-\%0^LG^TM5,M*Z;P5N1?LD2G0Z?K0()KMLWU7.SN\%#/
ME>&+1:[L/^PJW[#M0+Q56A0',&509+PZV?[P#B> KO<&(#@  IMW%<AF.66:
MC092[$ :;V(S@BW5HBFYC)NF++2DVXQP>C236+(L@6A/;5:H@/$$GG2*$L9*
MH58#5U,8X^S&!\I)11F\01G"@^ Z51#Q!),_\2ZE5^<8''.<!&<)'YAL0>@W
M(?""]AF^L*XYM'SA&WQ+W&N8Y")^AF_CE=*2/HWOK]59T;1?IS'CTE<EBW'H
MT#PHE"_HC"XO_(YW<R;)=IUD^QS[_S7F/&6G!;-Y-!O?3R'Z.HL>%]$"QH]3
M>%K>17,8+Q;1<@''N'@:5]BXS,:%6-!(*@UB#62&M<AILC.^@?<9)XO8*H*H
M#_T&]2U.Z\;!%&,L5L1#EL9?8=Z!'S3#H&<$O]D-O<8]CT6!H-F>IC_&[(6M
M<H3+BV[@!S=T^+WV#?2:'=]O5._2(33]&DNA60[E/PNQ(7M771*"H.E=>Z^U
MS3V9K0+EQFX0\PA;KJLQJZWUDAI7L_G;O=IP]!Z;C"O(<4U0KW5]Y8"LMD:E
M:%':25T)37-OQ906+4KC0/=K(?11,0'JU3WZ!5!+ P04    " !GB:E8GS@P
ME]0#  #,"   &0   'AL+W=O<FMS:&5E=',O<VAE970Q-2YX;6RE5E%OXC@0
M_BNC[&J?N 0"M%47D*!P7:1N6Q7N]N%T#R89B+6.G;,=*/OK;^R$%*XL6NE>
M(+$]WWS?S'@F@YW2WTV&:.$U%](,@\S:XC:*3))ASDRH"I2TLU8Z9Y9>]28R
MA4:6>J-<1'&[?17EC,M@-/!KSWHT4*457.*S!E/F.=/["0JU&P:=X+#PPC>9
M=0O1:%"P#2[0_E$\:WJ+&I24YR@-5Q(TKH?!N',[Z;GS_L"?''?FZ!F<DI52
MW]W+/!T&;4<(!2;6(3#ZV^(="N& B,8_-6;0N'2&Q\\']-^]=M*R8@;OE/C&
M4YL-@YL 4ERS4M@7M?N"M9Z^PTN4,/X7=M79?C> I#16Y;4Q,<BYK/[9:QV'
M(X.;]D\,XMH@]KPK1Y[EE%DV&FBU ^U.$YI[\%*]-9'CTB5E837M<K*SHWNE
MTAT7 IA,X<EFJ&$N+9,;OA((8V/0FA8\HAU$EMPYHRBIH2<5=/P3Z"Y\5=)F
M!F8RQ?34/B*:#=?XP'427P3\RG0(W4X+XG;<NX#7;;1W/5[W5[2_4PU3;A*A
M3*D1_AJOC-5407^?"T/EI7?>B[M5MZ9@"0X#NC8&]1:#T:</G:OVYPL:>HV&
MWB7T_Y>_B]#GB5^'</_T-/TV?WB \>,4GI9?9B\P?UR.'^_GDX<9C!>+V7)!
M+F=+6&8("=-ZS^4&6*Y*:4&M8=-PMD Y3;(FJ2TO8XH)YBM24B]W6[!C!CYV
M>F%,=T (NLZA![]3><'D_M.'F[AS_=D ?Y/.:NE%20[HVJ:T26"=FQ8DBGJ*
M\512Y1H72):C"6'\RWS>.8(=4IU\O J[!X;>E"5)F9>"6?)/ ="6_V"^&WE!
M<=@_.4T+O<-"BUJ>*= W+;$/C[/J/=;QK!VG:%%3>R W*R^6$*D8 (WEN?>.
MI%KE/#%.MMNJ41Q) JC).<LM*3VU+0VN2P&"J!B'S,#=!M?O?G-%XUQR4QEV
M^K!'IBGPNXQ3)%E1:/7J<8Q'+9@EJM)EHSKA7=7D8(42UYQ4.4[XZO23?ZMH
M@^*1(#%(3U(/N&6B;-#IC*/!5EQPNW=2WV>J0,U5RA,FQ-[K]_60HC8$ABZD
M2D/"-67.D&WBH:E4<[:GM&G-J(HU;KD+\R%&/JJG8=)O5EPZ=Y88D&ZBS36-
M-7L^IV\EXN1+@[!653YLIA$AKWHJNIYZMEI/U@Y7IQUV3BOM:.&_E7:N*T5'
M$R9'O?%SU%#DJ 2K8=.L-J-Z7$VHM^/5G"=^&RX-"%R3:3N\[@>@J]E9O5A5
M^'FU4I:FGW_,Z',#M3M ^VNE[.'%.6@^8$;_ E!+ P04    " !GB:E8"DW!
ME@4#  !>!@  &0   'AL+W=O<FMS:&5E=',O<VAE970Q-BYX;6RE5=MNVS@0
M??=7#-2BV 6$Z&K'2FP#MN-%#:2-$:>["RSV@99&%A&)]))4G?[]#B59=8'$
M*- 77H9S#L]P-*/)4:IG72 :>*E*H:=.8<SAQO-T6F#%])4\H*"37*J*&=JJ
MO:</"EG6@*K2"WU_Y%6,"V<V:6P;-9O(VI1<X$:!KJN*J6\++.5QZ@3.R?#(
M]X6Q!F\V.; ];M%\.6P4[;R>)>,5"LVE (7YU)D'-XO8^C<.?W(\ZK,UV$AV
M4C[;S3J;.KX5A"6FQC(PFK[B$LO2$I&,_SI.I[_2 L_7)_8_FM@IEAW3N)3E
M7SPSQ=09.Y!ASNK2/,KC1^SB&5J^5):Z&>'8^D:) VFMC:PZ,"FHN&AG]M*]
MPQE@[+\!"#M V.AN+VI4WC'#9A,ECZ"L-['911-J@R9Q7-BD;(VB4TXX,YNG
MJ:HQ@]4+I5FC!B8R># %*KCG;,=+;CCJB6?H+HOPTHYWT?*&;_!&\$D*4VA8
MB0RS'_$>:>R%AB>AB_ BX2>FKB *7 C],+[ %_6!1PU?] ;?AGUCN[(+N'D%
M5FKX9[[31M&G\N]K(;>,\>N,MGQN](&E.'6H/C2JK^C,/KP+1O[M!;UQKS>^
MQ/X+B;K,.[Z"^7+Y^&5U!ZN_-ZO/V]46YI_OX.'IX^H1[M?SQ?I^_;2VUDX!
MGBN0C8+RNP)()56L-B!SH#/(94F%S\4>?N."+++6A-._WPPHHVG1IQ3N,,5J
M1V2=)1ILV2D_U"^>T5B2]Q!%[O4PID4P=.-D-%B+5%8(3^R%G,/8#?P8/KP;
MAT%X2U.0Q+>#I:RL9-;V >+;H<"<&PW!R+T.$@B'[GB8#!X.J%AS38E4Z3^$
M=>V.PL2.HXB4BSJGCZ16UC>5FI@B-T@B&J-Q.&C3,G*'<0"Q&T7QX$D:5E(+
M^JD7? ])X":Q3XLAZ8M>_=R]LYJO4.V;SF9?OQ:F+?_>VC?/>=LSOKNWG9<2
ML>="4] Y0?VKZZ$#JNUF[<;(0]-!=M)0/VJ6!?T 4%D'.L^E-*>-O:#_I<S^
M!U!+ P04    " !GB:E8O D+ST((  "[%@  &0   'AL+W=O<FMS:&5E=',O
M<VAE970Q-RYX;6RE6&MOX[82_2N$;_<B 7SE1Y+=[38)8.>!+K"/($G;#T4_
M4!)MLTN)*DG9\;^_9TB];"MN%P7BV)+(F3,S9Q[4Y4:;;W8EA&,OF<KMU6#E
M7/%A-++)2F3<1KH0.9XLM,FXPZ59CFQA!$_]IDR-IN/QVU'&93ZXOO3W'LSU
MI2Z=DKEX,,R66<;-=BZ4WEP-)H/ZQJ-<KAS=&%U?%GPIGH3[I7@PN!HU4E*9
MB=Q*G3,C%E>#V>3#_)S6^P6_2K&QG=^,+(FU_D87'].KP9@ "2421Q(XOM;B
M1BA%@@#CKTKFH%%)&[N_:^GWWG;8$G,K;K3Z3:9N=35X/V"I6/!2N4>]^5E4
M]ER0O$0KZ_^S35@[?3=@26F=SJK-0)#)/'SSE\H/G0WOQZ]LF%8;IAYW4.11
MWG+'KR^-WC!#JR&-?GA3_6Z DSD%Y<D9/)78YZYO1>PN1PZ2Z'J45+OF8=?T
ME5UG[+/.W<JRNSP5Z>[^$1 T,*8UC/GTJ,#/W$3L;#)DT_'T_(B\L\:L,R_O
M[(A9[%;:1&E;&L%^G\76&5#@CSYC@ZSS?EF4%A]LP1-Q-0#OK3!K,;C^[W\F
M;\<_'4%ZWB ]/R;]U0 <W=6/Z<>(W=[-G]FC6&NUEOF2W1B12L?N>2*5=%OV
M-6>?^99-WGM'3X?,K02[T5G!\RT3N1-8SV3N-./UWMG2"($L=.QD_\XIN.I6
M+!'&(?N9$GE*2@MNG!269!L!42>?\$ 8>\I(+C:FC.,#V(X[X2'<Z]) THP>
MBO#X,3Q.#W&D_C:W3"_8%[T662P,NR"+)O# +Z0KV+6W,5A;@6&<;J<$J3!Z
M+5.QXPMOF,X%TX9E&@1J??I)\]S"27 1DL]7E[6@E)19F4&8S!-9< 5+=0FT
M /G#^7@\'(</O('][)/,)/SG5D:7RQ6*I=<._V=#MEG)9(5HI+8;K'?LY!F/
M3R/V,4]426XBD,#AK6J$,@ZTMHP575B&L@V@GX2#;,)2.651,X+LR&NLN7;D
M$/&2D&M^>-N@_LF'Y&GC[0<5.T[ WQ*N7%(H#XSG^(,W'<HX@Y&(:*#(GJ)I
MHRABSZL#9]>!>\T&PD8K#O"1*\@!]+ H3:&MH/V&2TLKJ5_0=\(+Z0@TY-BR
M*#3XB]M+D0N#VW&)U<*";P6NJ9?8B#+I5B2!>Y1(?YM.]])8%QCN68R;?21E
M)WL+$? 9+/%91>!]NNPN&?9+VB!%>">C3)U1'<Y[>B"$*;;",%C;^GX>6'4"
M,93),N<+"@!:'MR1GG93K1?0=V0:/U2;P,W2^D# ZFXJFF:I^OY4G%QT4O%
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
ME702;0145X9Z#I;"8*4[RS)=EK) \!%'WK1 X\@86B4:!_B]DRWUHX..]MS
MK3"23($."",<>P@<!KN\7CZ;I,GXS6,MJ,0M4EO7:W9>"@Y-3;HE)+!"8<!I
M&/D1H5[M:-1B!;(I5#='0N;^MJR+=PZ)MS9>33;"D0&1">#+"AN0#J0EO\+J
M1LS4:ANDJX3SRIN,+J52A(BFD.R7EX.K ;QG#Q4+#2+4H1.0.P&HCHMJ6\@^
MC?=$641$G5 /$T*>Z*!EEL+"\W004[<KY0\N@B!!LA%$Q-ZVZ(\SM0K97OK3
MA]Q34OW&[DLL4 1[Z+W% NL9;>B&H:>0#]*0>*^3#_(P^R7G<VD+W5&A&-Z
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
M\7AYA6&!IRY9-L#ZS!B__> -NL?S]&]02P,$%     @ 9XFI6&;( LUT P
M:@<  !D   !X;"]W;W)K<VAE971S+W-H965T,C0N>&ULA55=C]LV$/PK"Q7H
MT]7R5Z[!U39@IRD:H$D/\;5%4?2!EE82<92HD)1]_O>=I6350>^N+S8_=H:S
M0^YJ=;+NT5?,@9YJT_AU4H70WJ6ISRJNE9_8EAOL%-;5*F#JRM2WCE4>0;5)
MY]/I;5HKW22;55R[=YN5[8+1#=\[\EU=*W?>L;&G=3)++@N?=5D%64@WJU:5
MO.?P6WOO,$M'EES7W'AM&W)<K)/M[&ZWE/@8\+OFD[\:DV1RL/91)A_R=3(5
M06PX"\*@\'?D=VR,$$'&EX$S&8\4X/7XPOY3S!VY')3G=];\H?-0K9.W">5<
MJ,Z$S_;T,P_YO!&^S!H??^G4Q\[G"66=#[8>P%!0ZZ;_5T^##U> M],7 /,!
M,(^Z^X.BRA]54)N5LR=R$@TV&<14(QKB=".7L@\.NQJXL-FS\K911H?S*@T@
ME.4T&\"['CQ_ ;R@C[8)E:?W3<[YU_@40D8U\XN:W?Q5PH_*36@QNZ'Y=+Y\
MA6\Q9K>(?(L7^![X*=#.V.R1_MH>?'!X!'\_EV=/LWR>1@KCSK<JXW6"E^_9
M'3G9?/O-[';ZPRLBEZ/(Y6OL_W<%KX*?ES:[G=#^_7;_ZZ?M+Q\>_J2'B@EE
M[%3038E2\GBRGE#1].#XB2IU9*HTWIK3F3+F3$?E-.=4.%O3ETZYP(Z"O0Q!
M/DB^(7;"FA&X6F>-;4K@5'YDYYE.K$(%:&:;7$L1>M(-9>P"N@65;$NGV@IH
MQV7<=9QW&1- 9/C(AFQ!E:V9= WV(Z,;!%)-+HRXS>ZJLN%>OZ,:\I4N FJS
ME@5)4R-=$( < R2BR"C)"9YHFT]HBVVD)L=):"/U;NC0>;CM!2I'0-CE:'@E
M2DXZ5,@H1YFZ\QAU<W'5?VVJ+0I&@@!D *,7B20X4$=)<FZ.<*</'3 ^GI6S
M,G!2]@^=-H(] FMQ6O3'TX&17^^8#T,*,FD=6B?PV>-W$2D7[^.MR158E_<W
MBN[: :YRQMT&#(Y*&W70\A@O;@S&27@MGPD%\9EN$9X/E/!*7.EJD/:N3^*;
M&W<9J8OU"F?9 MZ)&1Y<AW.OUGH='>D#+TG\UZD)/5=PZ57_@X8R=GD/35T3
M^E8XKHX?DFW?/_\-[[]"Z$"EQDLT7  ZG7S_)B'7=_9^$FP;N^G!!O3F.*SP
M,60G =@OK V7B1PP?EXW_P!02P,$%     @ 9XFI6+"H,FXM#   _1\  !D
M  !X;"]W;W)K<VAE971S+W-H965T,C4N>&ULI5E;<]NV$G[/K\"H/9UDAK5U
ML7S)Q3.YM<>=.LW4[NG#F?, D:"$A@08 +2B_OKS[0*D*%5VDO;!U@U8['Z[
M^^TN^'QMW0>_4BJ(3W5E_(O1*H3FZ?&QSU>JEO[(-LK@E]*Z6@9\=,MCWS@E
M"]Y45\?3\?CTN);:C"Z?\W?OW>5SVX9*&_7>"=_6M72;5ZJRZQ>CR:C[XE>]
M7 7ZXOCR>2.7ZD:%WYKW#I^.>RF%KI7QVAKA5/EB]'+R]-4)K><%_]%J[0?O
M!5FRL/8#?;@J7HS&I)"J5!Y(@L3+G7JMJHH$08V/2>:H/Y(V#M]WTG]@VV'+
M0GKUVE:_ZR*L7HS.1Z)0I6RK\*M=_ULE>^8D+[>5Y_]B'=?.IR.1MS[8.FV&
M!K4V\55^2C@,-IR/[]DP31NFK'<\B+5\(X.\?.[L6CA:#6GTADWEW5!.&W+*
M37#X56-?N'QMZUH'H!R\D*80KZT)VBR5R;7RSX\#CJ"%QWD2]RJ*F]XC;B:N
M(6#EQ5M3J&)W_S%4Z_6;=OJ]FCXH\%JZ(S&;9&(ZGIX\(&_6VSMC>;._8Z]X
MHWU>6=\Z)?[[<N&#0]#\[Q *\9"3PX=0(CWUC<S5BQ$RQ2MWIT:7WWTS.1T_
M>\"$D]Z$DX>D?[W+'A1W6-G)V9%X_<OU]=7M]=MWMS?BY;LW^/SN]NK=CV_?
MO;YZ>R/>.UNT>1"_2^>D"1MQNU)0I6ZDV8AU_-*+L))!@#KP1@G9-)7.Y:)2
MW8*-:)33MA ::YLHT6=BO5*&/N+':B.T\4%6E2HRT7I5L,U$-P%_].5:5Y58
M*%$Z1?]LC5\#Q,J*TA/9[R&"R:&6QJ]TDR3$-1%#.K]0^0?@F(F\DD7![TKI
M<RUYA9,:R"U[+>.QQ@;A857(^,5 9B8<OK1$?&6I\!(<UK>.U)$UB"[JB)7P
M(F(.*\O6+%G;7&Z..F2]\+8J!)@+*V2)]>(G:5HPIXCI,'O*F.]#26C#C[I
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
M*4ZW.ZH,L>BUZ!\.M<Q?VXX";;IMEZO#IINEY0I)M7BI3 H]KML(Q]CAH.6
MAAI:''JF=SQX)(M\6_*#9Q]O->+3V?[;_MGVR_A(=[L\/A@'(2WI^JY2);:.
MC\[F(^'BP^;X(=B&'_ N; BVYK<K!09TM "_E]:&[@,=T#_QO_P_4$L#!!0
M   ( &>)J5A@( ILK0(  ,$%   9    >&PO=V]R:W-H965T<R]S:&5E=#(V
M+GAM;(54WV_:,!!^YZ\X9=742EGS$P@=1&K7H55:M8IVV\.T!Y,<Q*MC,]M
M^]_/=B!-)<I>DO/YON^^LWTWW@KYJ"I$#4\UXVKB55JO+H) %1761)V+%7*S
MLQ"R)MHLY3)0*XFD=*":!7$8#H*:4.[E8^>[D_E8K#6C'.\DJ'5=$_E\A4QL
M)U[D[1TSNJRT=03Y>$66>(_Z^^I.FE70LI2T1JZHX"!Q,?$NHXNKU,:[@!\4
MMZIC@ZUD+L2C7=R4$R^T@I!AH2T#,;\-?D+&+)&1\7?'Z;4I+;!K[]FGKG93
MRYPH_"383UKJ:N)E'I2X(&NF9V+[!7?U]"U?(9AR7]@VL4GL0;%66M0[L%%0
M4][\R=/N'#J +'P#$.\ L=/=)'(JKXDF^5B*+4@;;=BLX4IU:"..<GLI]UJ:
M76IP.K_A&^1:2(H*3A_(G*$Z&P?:,-O]H-BQ7#4L\1LL"=P*KBL%GWF)Y6M\
M8!2ULN*]K*OX*.$MD>>01#[$89P>X4O:,A/'E_RGS&>XIJI@0JTEPJ_+N=+2
MO(O?ARIN"-/#A+97+M2*%#CQ3#,HE!OT\O?OHD'X\8C<M)6;'F//[YL6 ;&
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
M>3RW66O=D1(R;%='@SH SE^^F*_B#Q?8+B>VRTOH^9>>%Z"0K.V6=%(94C!
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
M/S" 8L87 CO9^$9&RH+S'Z9QD4T=ST0$%%)E*+#^N84Y4&J8=!P_*U*G7M,
MF]][]K>%>"UF@27,.?U*,K6>.F,'9;#$6ZJN^>X]5(*&AB_E5!9_T:Z:ZSDH
MW4K%\PJL(\@)*W_QK\J(!D#S= .""A < J(' &$%"!\+B"I 5#A32BE\2+#"
M\43P'1)FMF8S'X69!5K+)\SL^XT2>I1HG(K?<9[M"*4(LPQ]4FL0Z((IS%9D
M00'-I 0E7Z*/.@%?H5F6$;-9F.HY9<J9K7N>@,*$OM S/M\DZ/G3%^@I(@Q=
M:EH]+B>NTH&:Y=RT"NJ\#"IX(*@077*FUA*]81ED;;RK!=8J@[W*\\!*>(G%
M (7^2Q1X0=01S_SQ\+ #GMCA":0/P5MJPGK/PH(O_->>??N@1]"%@EQ^[W*Y
MI(FZ:<R-<B8W.(6IHZ\,">(6G/C9$W_DO>ZRJ$^RI">REGU1;5]D8X]G.1>*
M_"F3ER]UJM;YCDV^=SE9,HX+1G.5WL;>P)^XMTV#'C$GL4;VG[J'M>ZA5?>]
M<]TEM*0X;8@8#<(#H=9ECLV$X3W7F@NVA(YJH2/[!J?I-M]2K"!#S<WNTCNZ
MIS<8# _T6E<[5F_7@E&WWI-:[XE5[S5(D@%31%_,WRXA7X#HO ZL+,=>!WV2
M)3V1M=P;U^Z-^[E-QWW:UR=9TA-9R[[3VKY3:_+M[>MR[/3>V?:C07!PNJST
MQSKQCQ5;"GWO[HWD634FW+R@T4><@[2>,#O/L3G2*UO2%UO;P\8[T^_GF%4\
M?7G8)UO2%UO;P^#.P^#Q+Y<-",*S3@?M+/X0_08LNO[]S^W0H^WJB:VTRVU4
M.3F(55$M2I3R+5-E*5#WUA7IK*C##OK/_;-Y65?>T91EKG[HKPB3B,)24WJ#
M$_TZ$67E6#84WQ2UU((K79D5GVM=;8,P$_3XDG.U;Y@%ZOH]_@M02P,$%
M  @ 9XFI6,P7#+Q= P  =@H  !D   !X;"]W;W)K<VAE971S+W-H965T,S<N
M>&ULM99M;]LV$,>_"J$50PMDT;-L9;: U&G1 BUJU.GVHM@+6C[;1"C2(ZG8
M^?8[2HKJ6(P;8-L;6Y3N?_S=D3S>9"_5G=X"&'*HN-!3;VO,[LKW=;F%BNI+
MN0.!7]925=3@4&U\O5- 5XVHXGX4!)E?42:\8M*\FZMB(FO#F8"Y(KJN*JH>
MW@*7^ZD7>H\OOK+-UM@7?C'9T0TLP'S;S16._-[+BE4@-)."*%A/O>OP:A8&
M5M!8_,%@KX^>B0UE*>6='7Q<3;W $@&'TE@7%/_N80:<6T_(\7?GU.OGM,+C
MYT?O[YO@,9@EU3"3_$^V,MNI-_;("M:TYN:KW'^ +J#4^BLEU\TOV7>V@4?*
M6AM9=6(DJ)AH_^FA2\21($F?$42=('JI(.X$<1-H2]:$=4,-+29*[HFRUNC-
M/C2Y:=08#1-V&1=&X5>&.E-<EZ6J847>'7!C:-"$BA7Y8K:@R"=&EXPSP_#M
M;V31KC.1:_)"S>L;,)3Q-RC^MK@AKU^](:\($^1V*VN-$CWQ#49@.?RRHWW;
MTD;/T'ZFZI+$X06)@BAQR&?GY3=0]O+XJ=S'O/7)B_KD18V_^!E_<_I E[Q+
M0),5RC7Y?KW41N'^_,L58.LQ<7NTA_9*[V@)4P]/I09U#U[QZR]A%OSN"O<_
M<O8D^+@//C[GO5C0Q\AQ7]R!86+CBK=UDC5.;$VY+^)XE.+BW1\',K0*TR3/
M>JLGA$E/F)PE_"A*60&YI0=P[K56G1Y-&B5A<(HVM K<6&F/E9[%FLG*GAO:
MEC',WQ($K)EQ,J:#V<-L%.8GC$.K*!VGN9LSZSFSLYQ?=J"H75;" 0LEX3_.
MMHLT&S",LN@4U&64Q6[.4<\Y.LOYF8IZC<>M5I:UE-J=R=%@ZCC,XQ,^AU$\
MCMQ\XYYO?#Z/MC*ZB,:#R;(T"4^(AD9)'"=NHKPGRL\2W4I#.=Z@;1F'XS(N
MFS+^DZ7.!Z<U#_,D."$?6J79Z#GT,/AQ804OW):?[+:\Z.^<APLRJY4"82[(
MPE #V&T8>U^]9X**DF'(<ZE9<^R^OSL8VXM@]4:]=I?JGX#\RRS._C?W;6+]
MHZ; =F1X=VZ8T'B8USA?<#G"/:7:)J<=&+EK^H2E--AU-(];; Q!60/\OI;2
M/ YLZ]&WFL4_4$L#!!0    ( &>)J5AM;\NPU08  !LX   9    >&PO=V]R
M:W-H965T<R]S:&5E=#,X+GAM;+6;:V_;-A2&_PKA7= ":2Q1LI-VCH$D7+
M"5+$Z_IAV =:8FRANG@4[;3 ?OQ(2A9-1V:L]JA 6^MR7E*OQ*/SB-+DN>!?
MRB5C GW-TKR\&"R%6'T8#LMHR3):GA8KELLM3P7/J)"+?#$L5YS16 =EZ1![
MWGB8T20?3"=ZW4<^G11KD28Y^\A1N<XRRK]=L;1XOACX@^V*QV2Q%&K%<#I9
MT06;,?%I]9'+I6&C$B<9R\NDR!%G3Q>#2_\#"76 WN.OA#V7.[^1.I1Y47Q1
M"[?QQ<!3/6(IBX22H/*_#;MF::J49#_^K44'39LJ</?W5OU&'[P\F#DMV761
M?DYBL;P8G ]0S)[H.A6/Q?,?K#Z@D=*+BK34_Z+G>E]O@*)U*8JL#I8]R)*\
M^I]^K8W8"0C" P&X#L![ ?ZA@* ."(X-".N 4#M3'8KV@5!!IQ->/".N]I9J
MZH<V4T?+PT]R==YG@LNMB8P34\+F KU#EW&<J/- 4W2;5U>3.BMO"!,T2=_*
M/3[-"'KS\]O)4,A65>PPJENXJEK !UH(T'V1BV6)?L]C%MOQ0]G;ILMXV^4K
M[!2\I_P4!?X)PAX.6_IS[0XG+&K"@Y9P\EKKWY!_KJ.QXV""QO] RP4'Y.[D
M,BJ>T#5G\@R@&QHE:2*^H;_UAEO!LO*?-L\KU;!=526+#^6*1NQB(+-!R?B&
M#::__N2/O=_:#(,4(T!BEIMAXV;H4I\^,I7JDGR!Z$9>MW2>,C0ON%11ZR(J
M&Y;FMOE9Z8ZUKLJ5FVF SSS]9S+<[)KE[$%7LX#$++-&C5DCIUD/:U$*FL?*
MFN-,&KTP">.@U:27>XY&+?L19P^_\_C'S?&/7[E8-D6Z4<?\8O#=LVS.>.O
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
ME32/2_7O +A>H-[/&9/;@0Y0_=^(_@%02P,$%     @ 9XFI6",J&]&W P
MPPX  !D   !X;"]W;W)K<VAE971S+W-H965T-# N>&ULK5=MCZ,V$/XK%CU5
M=U*[O 7(I@G2;FC5DWJZU>YM^]D!)U@'-K7-9OOO.S8L2UC")J=\2;#Q/#//
MXQDS7NZY^"YS0A1Z+@LF5U:N5+6P;9GFI,3RBE>$P9LM%R56,!0[6U:"X,P8
ME87M.4YHEY@R*UZ:N3L1+WFM"LK(G4"R+DLL_KLE!=^O+-=ZF;BGNUSI"3M>
M5GA''HAZK.X$C.P.):,E89)RA@39KJP;=Y&XQL"L^)N2O>P](TUEP_EW/?B<
MK2Q'1T0*DBH-@>'OB:Q)46@DB./?%M3J?&K#_O,+^A^&/)#98$G6O/B'9BI?
M67,+962+ZT+=\_V?I"44:+R4%]+\HGV[UK%06DO%R]88(B@I:_[Q<RM$SP!P
MQ@V\UL ;&LR.&/BM@7^JP:PUF!EE&BI&AP0K'"\%WR.A5P.:?C!B&FN@3YG>
M]P<EX"T%.Q7_14 TB7Y%#W55%01V5.$"K;',T19R GUF36[I/5(<0;X)&+ =
M*AK#CPE1F!:? .'Q(4$?/WQ"'Q!EZ%O.:XE9)I>V@C"U,SMM0[IM0O*.A.2C
M+YRI7*+?64:R0WL;Z'4<O1>.M]XDX!<LKI#O_H(\QYN-Q+,^W=P?,4^FS1.2
M'C,_8.-W.^8;//\(WL%&I=U&T=>-&I.\P9R-8^K#92$KG)*5!:>').*)6/'/
M/[FA\]N87I<$2RX$=J#EK--R-H4>FSRO,,T0B(=PR6NF)$B9%C6DGLYCE1-4
M0JK7PDB.^'98 ZB@>$,+JB@93?8F@M!$H$_AIQC.Y&AI/_45'5GD>L[AHF22
MRP\J%71*!9-*?>U(WW]]1%A* D+Q#=0^:X0BSVF.V8X8)4\2IG$8]#@'T7R@
M2_!&%S>8N0-=)B/_05W"3I?P]&K<X *SE*#FB_U.18:7K,A+@B47 CO0,^KT
MC$[,LR:'7K-M3,/H30IY@>,.ZF8]Z?%<<:*WE1IZOM^Y/& ][UC/)[-HR+I7
M.8LQWO-+YLXEP9(+@1VH>-VI>#V9.S=I*FHXC<@S=,6Z.8'^ W$XP05T4D+H
MX_N=(^GZ33Y%H7<]2*?)(,[5:\QC>"2;7.>UJ7/.JJ)W:+=H_2C<*'2\ ?%I
MI^<R'W,ZG\^<(]Q[#:T[R?T;UT?QF1_I%O.@K //=X<*3+H^6X$1IV'@#'??
M[G7W)1$[<TN2*-7-2M,$=[/=3>S&W#\&\[?N8MW<IUYAFNL=M+@[RB1HM05(
MYRJ"71'-C:D9*%Z9.\2&*[B1F,<<;IE$Z 7P?LNY>AEH!]V]-?X?4$L#!!0
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
MC[%]JKN=%YBZ]\(K:LD*23)8(*1S'B(I4?<S]4#QTK0$<ZZPP3"/*;: ('0
MKB\X5YN!WJ!M*J._4$L#!!0    ( &>)J5CO:8-&;0(  -8%   9    >&PO
M=V]R:W-H965T<R]S:&5E=#0U+GAM;*U474_;,!3]*U<9FD#:2)J4@E@:J2U#
MXX$)P1@/TQ[<Y+:Q<.S.=EKV[W?MI%E@I=O#7A)_W'-\[K'O33=*/YH2T<)3
M):09!Z6UJ_,P-'F)%3/':H62=A9*5\S25"]#L]+("@^J1!A'T2BL&)=!EOJU
M&YVEJK:"2[S18.JJ8OKG%(7:C(-!L%VXY<O2NH4P2U=LB7=H[U<WFF9AQU+P
M"J7A2H+&Q3B8#,YG0Q?O [YRW)C>&%PF<Z4>W>2J& >1$X0"<^L8&/W6.$,A
M'!')^-%R!MV1#M@?;]DO?>Z4RYP9G"GQP M;CH.S  I<L%K86[7YA&T^)XXO
M5\+X+VS:V"B O#9652V8%%1<-G_VU/K0 Q#/;D#< N*7@.$K@*0%)#[11IE/
MZX)9EJ5:;4"[:&)S ^^-1U,V7+I;O+.:=CGA;':+:Y0UPJ56%<R4M)J,-?#
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
M9<78@WZX"<>6HR."! *I(8CZ>X0Y)(E&4G'\7X!:Y9C:L=I^0?]JDE?)K(B
M.4O^C4,9C:T+"X6P)MM$WK'=-R@2ZFN\@"7"_*)=8>M8*-@*R=+"6460QC3_
M)T\%$14'A=/LX!8.[J%#[X2#5SAX)M$\,I/6%9%D,N)LA[BV5FBZ8;@QWBJ;
MF.II7$JNWL;*3TZ6D@4/9S-%1(CF+%7J$,3P>X:6^<PBMD8GK:Z?=!L$^GP%
MDL3)%^5WO[Q"GS]]09]03-'WB&T%H:$8V5*%JP>U@R*T61Z:>R(T#]TR*B.!
MKFD(8=W?5FF6N;HON<[<5L!;PL^1A_]"KN/V&N*9_[Z[UQ*.5U+O&3SO%/41
MX7"V.B9URCFA&U"+1:+5,ZK:+<BSZ9[N" _1SW\4)+J1D(K_FOC-Q^\UCZ\W
MB$N1D0#&EMH!!/!'L"9__H%]Y^\F<CH"JU'5*ZGJM:$7*LTI"*I40:Z_IN1S
M1-\@ZLWL<>+AOIJWQVI2QT9X.'!+HUJP_3+8_NO!HFFF> CB/$RS.PKT\Q;2
M%?#&N6K%?.M<=0162]\OT_<_6-9^EU1U!%:C:E!2->A<UCEBOZ)8=X /5-U@
M@_O-HKXH0[UH#?6[^G87'X [$)+'@53-7.IJ>S_NO*?Q*XIO'?"MT]@16(V;
M8<G-\(,5/^R2JH[ :E1A9U]O.)UKOH"L"AH[@]Z!ZANLAMX)V>-*?81;XUT
M-\4R#;K6?_O ;YW5KM#J-+E[FMP/7@-% %W1U1%:G:Y]Z8=;RZ7WK0+O>!7X
M/?=P%1Q;#=S>B56PK[]P>P%VG68)>P8HQ+W8\B!2P:-%0FB[R%MQWSQK':'5
M6=@7=KC_T2+OM SL"JU.U[X0Q*W%T_M$[A]7Y+Y_J/%CH^'%@<3MRIDX!;XQ
M5P5"Q;&E,C\REKWE=<34',(/^F?ZFL*<M?<P^1V'.A!N8BI0 FL%Z9P/%-T\
MOS;('R3+S,E[Q:0ZQYMF!"0$K@W4^S5C\N5!#U!>WDQ^ 5!+ P04    " !G
MB:E8MR(0[DT#   ?"0  &0   'AL+W=O<FMS:&5E=',O<VAE970T."YX;6RM
M5MN.TS 0_9510 @DMKDTO;"TD=KN(I!8:;45\(!X<)-I8VT2!]MMMW_/V$E#
M6K(50KRT]F3F^,P99R:3O9"/*D74\)1GA9HZJ=;EM>NJ.,6<J9XHL: G:R%S
MIFDK-ZXJ);+$!N69&WC>T,T9+YQH8FWW,IJ(K<YX@?<2U#;/F3S,,1/[J>,[
M1\,#WZ3:&-QH4K(-+E%_*>\E[=P&)>$Y%HJ+ B2NI\[,OUZ,C;]U^,IQKUIK
M,)FLA'@TFT_)U/$,(<PPU@:!T=\.%YAE!HAH_*PQG>9($]A>']$_V-PIEQ53
MN!#9-Y[H=.J,'4APS;:9?A#[CUCG,S!XL<B4_85][>LY$&^5%GD=3 QR7E3_
M[*G6H15 .-T!01T0G >$SP3TZX"^3;1B9M.Z89I%$RGV((TWH9F%U<9&4S:\
M,%5<:DE/.<7I:*E%_'@U)R$26(B<+H=B5M\K6%:%!;&&F:(JE\:NX(MQU0)N
ME>8D(\('QB5\9=D6C>LMBU-8SA[@]0UJQK,W!LD< K.2[EG,*WA[711\O\-\
MA?('.;T$%U3*)*J)JRDSP\^-ZRSF51;!,UGTX4X4.E5P6R28G,:[I$@C2W"4
M91Y<!+QCL@=]_RT$7A!V\%G\?7C_ IU^4Z6^Q>L_5R6C"W14:28E*S9(KY6&
MU0':?O?L8,VS/9-)NTCM8K(B@3O4J4A$)C8'^/Z93H9/&G/UHZL,%<VPFZ;I
M.->J9#%.'2JU0KE#)WKUPA]Z[[LT_$]@)XJ&C:+A)?3HFWV_,;EB.Y34KF!M
M!-H=;_&&9-6=%[&"'5E8TR)W41CVQE3D73NU/[V"4<]_UWB=<!XTG <7.=_P
M'4^0*G;@F"5=Y*IXWV^=ZYTQN^AR0FO8T!I>I#6K%91</5ZM)2+P0B.53(.D
M_M#%LP+TO3:)GA>>JSCLX$INW71'#=W11;JW3R6-$-/#4.;P^H!,JC==)"_#
M#,!&=MWK?P@\R63<9#+^NTQV(J-VD'%]Z,ICW"7VP _.Q.YT"]\-SM1V6[,F
M1[FQ(UA!++:%KOIK8VVF_,P.MS/[G*9_-:Q_PU2?#M0]-YR:4X9K@O1Z([JS
MLAK'U4:+TDZTE= T'^TRI2\8E,:!GJ^%T,>-.:#Y)HI^ 5!+ P04    " !G
MB:E8F=S!RN@"  !/"0  &0   'AL+W=O<FMS:&5E=',O<VAE970T.2YX;6R]
MEFUOVC 0Q[^*E4W3)JWD"4CH0B3H'E]40F5=7TQ[89*#1$WBS#;02?OP.]LA
MT!6BJ:O:%XWM^.Y^=W^<<[1E_%9D )+<E44EQE8F97UNVR+)H*2BQVJH\,V2
M\9)*G/*5+6H.--5&96%[CC.T2YI75ASIM1F/([:615[!C!.Q+DO*?TVA8-NQ
MY5J[A:M\E4FU8,=135<P!WE=SSC.[-9+FI=0B9Q5A,-R;$W<\ZFK#?2.;SEL
MQ<&8J%06C-VJR9=T;#F*" I(I')!\;&!"R@*Y0DY?C9.K3:F,CP<[[Q_U,EC
M,@LJX((5-WDJL[$56B2%)5T7\HIM/T.3T$#Y2U@A]'^R-7N#D462M9"L;(R1
MH,PK\Z1W32$.#'SOA('7&'B:VP32E.^II''$V99PM1N]J8%.55LC7%XI5>:2
MX]L<[60\ERRY/9MB7BFY8"6*+:@NUQF9&Z$(6Y*3NSYQ6DE!7K\'2?/B361+
M9%*>[:2)/S7QO1/Q?7+)*ID)\J%*(;UO;V,N;4+>+J&IU^GPDO(>\=VWQ'.\
M/GE);"(RRD$TCXX(?ELR7T?HGXCP%7^5Q-3B"H3D>2)QJ$M$KJL<R_']$LH%
M\!_'RM'I6YW!<U'3!,86'C(!? -6_.J%.W3>=9#W6_)^)[EAG&PI3X61#L%_
M'ZV,@37N!MJ=.M^;N!\.O3"R-T<H!BW%H)/B1I\42,\F&^!X\@T)F6$A@<R
MD[GB0:Z]>,?83)#@@&WD],+A<;9ARS;L9,/P^DM7)?\A<6>(1TH<M D$3RMQ
M\$#BT/$#]W@9PY8B? Z)PP<2AV[/<9W]WPG.4<LY^I=JU2A$DILOFNY+W?IV
M^GRDOJZS_V [3ZMPX^]08M_W@N!XZ=R#SN$^A\A-E'LJ]WN!]Q>>?=#C2N K
MW<D%2=BZDJ;=M:OM;6%B>N1^N[EJ8(M8Y94@!2S1U.D%6!INNK>92%;KCKE@
M$ONO'F9XXP&N-N#[)6-R-U$!VCM4_ =02P,$%     @ 9XFI6#A4\K^0 P
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
M%     @ 9XFI6 =!36*!    L0   !               ( !     &1O8U!R
M;W!S+V%P<"YX;6Q02P$"% ,4    " !GB:E83-Y**^\    K @  $0
M        @ &O    9&]C4')O<',O8V]R92YX;6Q02P$"% ,4    " !GB:E8
MF5R<(Q &  "<)P  $P              @ '- 0  >&PO=&AE;64O=&AE;64Q
M+GAM;%!+ 0(4 Q0    ( &>)J5B8\+YHM@4  *H>   8              "
M@0X(  !X;"]W;W)K<VAE971S+W-H965T,2YX;6Q02P$"% ,4    " !GB:E8
MFF"2GRX$  "3#@  &               @('Z#0  >&PO=V]R:W-H965T<R]S
M:&5E=#(N>&UL4$L! A0#%     @ 9XFI6*Q'"&YD!@  ;AH  !@
M     ("!7A(  'AL+W=O<FMS:&5E=',O<VAE970S+GAM;%!+ 0(4 Q0    (
M &>)J5@5U<Y'$P,  )@*   8              " @?@8  !X;"]W;W)K<VAE
M971S+W-H965T-"YX;6Q02P$"% ,4    " !GB:E8]H,(Z (&  #L)@  &
M            @(%!'   >&PO=V]R:W-H965T<R]S:&5E=#4N>&UL4$L! A0#
M%     @ 9XFI6+Q2A^(:!P  UAX  !@              ("!>2(  'AL+W=O
M<FMS:&5E=',O<VAE970V+GAM;%!+ 0(4 Q0    ( &>)J5CY_!YS2 (  *$%
M   8              " @<DI  !X;"]W;W)K<VAE971S+W-H965T-RYX;6Q0
M2P$"% ,4    " !GB:E8)MHO#D0"  "*!@  &               @(%'+
M>&PO=V]R:W-H965T<R]S:&5E=#@N>&UL4$L! A0#%     @ 9XFI6+P+34*6
M @  ?@4  !@              ("!P2X  'AL+W=O<FMS:&5E=',O<VAE970Y
M+GAM;%!+ 0(4 Q0    ( &>)J5@/V=6@'00   @)   9              "
M@8TQ  !X;"]W;W)K<VAE971S+W-H965T,3 N>&UL4$L! A0#%     @ 9XFI
M6+4(_'AZ @  @@4  !D              ("!X34  'AL+W=O<FMS:&5E=',O
M<VAE970Q,2YX;6Q02P$"% ,4    " !GB:E8T:KPW'0"  "G!0  &0
M        @(&2.   >&PO=V]R:W-H965T<R]S:&5E=#$R+GAM;%!+ 0(4 Q0
M   ( &>)J5CIB#A8B ,  '@'   9              " @3T[  !X;"]W;W)K
M<VAE971S+W-H965T,3,N>&UL4$L! A0#%     @ 9XFI6#M726VG @  Q@4
M !D              ("!_#X  'AL+W=O<FMS:&5E=',O<VAE970Q-"YX;6Q0
M2P$"% ,4    " !GB:E8GS@PE]0#  #,"   &0              @(':00
M>&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;%!+ 0(4 Q0    ( &>)J5@*3<&6
M!0,  %X&   9              " @>5%  !X;"]W;W)K<VAE971S+W-H965T
M,38N>&UL4$L! A0#%     @ 9XFI6+P)"\]""   NQ8  !D
M ("!(4D  'AL+W=O<FMS:&5E=',O<VAE970Q-RYX;6Q02P$"% ,4    " !G
MB:E8ZX HBK$$  #0"P  &0              @(&:40  >&PO=V]R:W-H965T
M<R]S:&5E=#$X+GAM;%!+ 0(4 Q0    ( &>)J5A"5G+CVP(  %,&   9
M          " @8)6  !X;"]W;W)K<VAE971S+W-H965T,3DN>&UL4$L! A0#
M%     @ 9XFI6'G5[-#2!   \ L  !D              ("!E%D  'AL+W=O
M<FMS:&5E=',O<VAE970R,"YX;6Q02P$"% ,4    " !GB:E8G%-P]1,$   Q
M"0  &0              @(&=7@  >&PO=V]R:W-H965T<R]S:&5E=#(Q+GAM
M;%!+ 0(4 Q0    ( &>)J5C@MJB.6 <  (H2   9              " @>=B
M  !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL4$L! A0#%     @ 9XFI6+@C
MS=RO!   2 L  !D              ("!=FH  'AL+W=O<FMS:&5E=',O<VAE
M970R,RYX;6Q02P$"% ,4    " !GB:E89L@"S70#  !J!P  &0
M    @(%<;P  >&PO=V]R:W-H965T<R]S:&5E=#(T+GAM;%!+ 0(4 Q0    (
M &>)J5BPJ#)N+0P  /T?   9              " @0=S  !X;"]W;W)K<VAE
M971S+W-H965T,C4N>&UL4$L! A0#%     @ 9XFI6& @"FRM @  P04  !D
M             ("!:W\  'AL+W=O<FMS:&5E=',O<VAE970R-BYX;6Q02P$"
M% ,4    " !GB:E8.]>#-Y,"  "U!0  &0              @(%/@@  >&PO
M=V]R:W-H965T<R]S:&5E=#(W+GAM;%!+ 0(4 Q0    ( &>)J5C2\%?VZ (
M $@&   9              " @1F%  !X;"]W;W)K<VAE971S+W-H965T,C@N
M>&UL4$L! A0#%     @ 9XFI6(+BO:J\ P  \0D  !D              ("!
M.(@  'AL+W=O<FMS:&5E=',O<VAE970R.2YX;6Q02P$"% ,4    " !GB:E8
M"*P;\L@#   ^"0  &0              @($KC   >&PO=V]R:W-H965T<R]S
M:&5E=#,P+GAM;%!+ 0(4 Q0    ( &>)J5@64J"0B 0  (T+   9
M      " @2J0  !X;"]W;W)K<VAE971S+W-H965T,S$N>&UL4$L! A0#%
M  @ 9XFI6#(QA81, P  GP<  !D              ("!Z90  'AL+W=O<FMS
M:&5E=',O<VAE970S,BYX;6Q02P$"% ,4    " !GB:E8]+S0*CD"  "\!
M&0              @(%LF   >&PO=V]R:W-H965T<R]S:&5E=#,S+GAM;%!+
M 0(4 Q0    ( &>)J5CGLNLXRP(  ,@'   9              " @=R:  !X
M;"]W;W)K<VAE971S+W-H965T,S0N>&UL4$L! A0#%     @ 9XFI6"YP)!Z3
M @  *P<  !D              ("!WIT  'AL+W=O<FMS:&5E=',O<VAE970S
M-2YX;6Q02P$"% ,4    " !GB:E8$O'^2W4#  #+#P  &0
M@(&HH   >&PO=V]R:W-H965T<R]S:&5E=#,V+GAM;%!+ 0(4 Q0    ( &>)
MJ5C,%PR\70,  '8*   9              " @52D  !X;"]W;W)K<VAE971S
M+W-H965T,S<N>&UL4$L! A0#%     @ 9XFI6&UOR[#5!@  &S@  !D
M         ("!Z*<  'AL+W=O<FMS:&5E=',O<VAE970S."YX;6Q02P$"% ,4
M    " !GB:E808^(;BH#  ![#   &0              @('TK@  >&PO=V]R
M:W-H965T<R]S:&5E=#,Y+GAM;%!+ 0(4 Q0    ( &>)J5@C*AO1MP,  ,,.
M   9              " @56R  !X;"]W;W)K<VAE971S+W-H965T-# N>&UL
M4$L! A0#%     @ 9XFI6,0.0)4. P  .PL  !D              ("!0[8
M 'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6Q02P$"% ,4    " !GB:E8/_M,
MLT(#  !"#0  &0              @(&(N0  >&PO=V]R:W-H965T<R]S:&5E
M=#0R+GAM;%!+ 0(4 Q0    ( &>)J5@A0_\B_ ,  /$/   9
M  " @0&]  !X;"]W;W)K<VAE971S+W-H965T-#,N>&UL4$L! A0#%     @
M9XFI6'.S S7Z @  8 H  !D              ("!-,$  'AL+W=O<FMS:&5E
M=',O<VAE970T-"YX;6Q02P$"% ,4    " !GB:E8[VF#1FT"  #6!0  &0
M            @(%EQ   >&PO=V]R:W-H965T<R]S:&5E=#0U+GAM;%!+ 0(4
M Q0    ( &>)J5A8HS)PE@0  .L8   9              " @0G'  !X;"]W
M;W)K<VAE971S+W-H965T-#8N>&UL4$L! A0#%     @ 9XFI6,%FA[:N P
MR!$  !D              ("!ULL  'AL+W=O<FMS:&5E=',O<VAE970T-RYX
M;6Q02P$"% ,4    " !GB:E8MR(0[DT#   ?"0  &0              @(&[
MSP  >&PO=V]R:W-H965T<R]S:&5E=#0X+GAM;%!+ 0(4 Q0    ( &>)J5B9
MW,'*Z (  $\)   9              " @3_3  !X;"]W;W)K<VAE971S+W-H
M965T-#DN>&UL4$L! A0#%     @ 9XFI6#A4\K^0 P  ]0T  !D
M     ("!7M8  'AL+W=O<FMS:&5E=',O<VAE970U,"YX;6Q02P$"% ,4
M" !GB:E8=#VW07,%   >)   &0              @($EV@  >&PO=V]R:W-H
M965T<R]S:&5E=#4Q+GAM;%!+ 0(4 Q0    ( &>)J5B( KHO) 0  '<1   9
M              " @<_?  !X;"]W;W)K<VAE971S+W-H965T-3(N>&UL4$L!
M A0#%     @ 9XFI6+^35"DO P  )!,   T              ( !*N0  'AL
M+W-T>6QE<RYX;6Q02P$"% ,4    " !GB:E8EXJ[',     3 @  "P
M        @ &$YP  7W)E;',O+G)E;'-02P$"% ,4    " !GB:E8/PG?EHT$
M  "=(@  #P              @ %MZ   >&PO=V]R:V)O;VLN>&UL4$L! A0#
M%     @ 9XFI6(HQ=E_/ 0  ,Q\  !H              ( !)^T  'AL+U]R
M96QS+W=O<FMB;V]K+GAM;"YR96QS4$L! A0#%     @ 9XFI6#+A@>'' 0
M$A\  !,              ( !+N\  %M#;VYT96YT7U1Y<&5S72YX;6Q02P4&
2     #P / !;$   )O$

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
..report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

..report table.authRefData a {
	display: block;
	font-weight: bold;
}

..report table.authRefData p {
	margin-top: 0px;
}

..report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

..report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

..report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

..report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
..pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
..report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

..report hr {
	border: 1px solid #acf;
}

/* Top labels */
..report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

..report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

..report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

..report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

..report td.pl div.a {
	width: 200px;
}

..report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
..report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
..report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
..report .re, .report .reu {
	background-color: #def;
}

..report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
..report .ro, .report .rou {
	background-color: white;
}

..report .rou td {
	border-bottom: 1px solid black;
}

..report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
..report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
..report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

..report .nump {
	padding-left: 2em;
}

..report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
..report .text {
	text-align: left;
	white-space: normal;
}

..report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

..report .text .more {
	display: none;
}

..report .text .note {
	font-style: italic;
	font-weight: bold;
}

..report .text .small {
	width: 10em;
}

..report sup {
	font-style: italic;
}

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.1.u1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>100</ContextCount>
  <ElementCount>219</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>46</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>7</UnitCount>
  <MyReports>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>1001 - Document - Cover Page</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/CoverPage</Role>
      <ShortName>Cover Page</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>1002 - Statement - Condensed Consolidated Statements Of Comprehensive Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome</Role>
      <ShortName>Condensed Consolidated Statements Of Comprehensive Income</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>1003 - Statement - Condensed Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/CondensedConsolidatedBalanceSheets</Role>
      <ShortName>Condensed Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>1004 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/CondensedConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>Condensed Consolidated Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>1005 - Statement - Condensed Consolidated Statements of Changes in Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity</Role>
      <ShortName>Condensed Consolidated Statements of Changes in Stockholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>1006 - Statement - Condensed Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows</Role>
      <ShortName>Condensed Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>995410 - Disclosure - Pay vs Performance Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/PvpDisclosure</Role>
      <ShortName>Pay vs Performance Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>995445 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>999001 - Disclosure - Business and Organization</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/BusinessAndOrganization</Role>
      <ShortName>Business and Organization</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>999002 - Disclosure - Basis of Presentation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/BasisOfPresentation</Role>
      <ShortName>Basis of Presentation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>999003 - Disclosure - Recently Adopted Accounting Standards</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/RecentlyAdoptedAccountingStandards</Role>
      <ShortName>Recently Adopted Accounting Standards</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>999004 - Disclosure - New Accounting Standards Not Yet Adopted</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/NewAccountingStandardsNotYetAdopted</Role>
      <ShortName>New Accounting Standards Not Yet Adopted</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>999005 - Disclosure - Inventories</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/Inventories</Role>
      <ShortName>Inventories</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>999006 - Disclosure - Prepaid Expenses and Other Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/PrepaidExpensesAndOtherAssets</Role>
      <ShortName>Prepaid Expenses and Other Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>999007 - Disclosure - Goodwill and Other Intangible Assets, Net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNet</Role>
      <ShortName>Goodwill and Other Intangible Assets, Net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>999008 - Disclosure - Accrued Expenses and Other Liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/AccruedExpensesAndOtherLiabilities</Role>
      <ShortName>Accrued Expenses and Other Liabilities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>999009 - Disclosure - Debt</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/Debt</Role>
      <ShortName>Debt</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>999010 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/Leases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>999011 - Disclosure - Financial Instruments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/FinancialInstruments</Role>
      <ShortName>Financial Instruments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>999012 - Disclosure - Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/StockholdersEquity</Role>
      <ShortName>Stockholders' Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>999013 - Disclosure - Revenue From Contracts With Customers</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/RevenueFromContractsWithCustomers</Role>
      <ShortName>Revenue From Contracts With Customers</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>999014 - Disclosure - Stock-Based Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/StockBasedCompensation</Role>
      <ShortName>Stock-Based Compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>999015 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>999016 - Disclosure - Seasonality</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/Seasonality</Role>
      <ShortName>Seasonality</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>999017 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/CommitmentsAndContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>999018 - Disclosure - Inventories (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/InventoriesTables</Role>
      <ShortName>Inventories (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.trex.com/role/Inventories</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>999019 - Disclosure - Prepaid Expenses and Other Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/PrepaidExpensesAndOtherAssetsTables</Role>
      <ShortName>Prepaid Expenses and Other Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.trex.com/role/PrepaidExpensesAndOtherAssets</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>999020 - Disclosure - Accrued Expenses and Other Liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesTables</Role>
      <ShortName>Accrued Expenses and Other Liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.trex.com/role/AccruedExpensesAndOtherLiabilities</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>999021 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/LeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.trex.com/role/Leases</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>999022 - Disclosure - Stockholders' Equity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/StockholdersEquityTables</Role>
      <ShortName>Stockholders' Equity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.trex.com/role/StockholdersEquity</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>999023 - Disclosure - Stock-Based Compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/StockBasedCompensationTables</Role>
      <ShortName>Stock-Based Compensation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.trex.com/role/StockBasedCompensation</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>999024 - Disclosure - Commitments and Contingencies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/CommitmentsAndContingenciesTables</Role>
      <ShortName>Commitments and Contingencies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.trex.com/role/CommitmentsAndContingencies</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>999025 - Disclosure - Business and Organization - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/BusinessAndOrganizationAdditionalInformationDetail</Role>
      <ShortName>Business and Organization - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>33</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>999026 - Disclosure - Inventories - Summary of Inventories (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/InventoriesSummaryOfInventoriesDetail</Role>
      <ShortName>Inventories - Summary of Inventories (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>34</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>999027 - Disclosure - Prepaid Expenses and Other Assets - Summary of Prepaid Expenses and Other Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/PrepaidExpensesAndOtherAssetsSummaryOfPrepaidExpensesAndOtherAssetsDetail</Role>
      <ShortName>Prepaid Expenses and Other Assets - Summary of Prepaid Expenses and Other Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>999028 - Disclosure - Goodwill and Other Intangible Assets, Net - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail</Role>
      <ShortName>Goodwill and Other Intangible Assets, Net - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>999029 - Disclosure - Accrued Expenses and Other Liabilities - Summary of Accrued Expenses and Other Liabilities (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail</Role>
      <ShortName>Accrued Expenses and Other Liabilities - Summary of Accrued Expenses and Other Liabilities (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>999030 - Disclosure - Debt - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/DebtAdditionalInformationDetail</Role>
      <ShortName>Debt - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>999031 - Disclosure - Leases - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/LeasesAdditionalInformationDetail</Role>
      <ShortName>Leases - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>999032 - Disclosure - Leases - Supplemental Cash flow Information to operating leases (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail</Role>
      <ShortName>Leases - Supplemental Cash flow Information to operating leases (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>999033 - Disclosure - Leases - Maturities of Operating Lease Liabilities (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail</Role>
      <ShortName>Leases - Maturities of Operating Lease Liabilities (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>999034 - Disclosure - Stockholders' Equity - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/StockholdersEquityAdditionalInformationDetail</Role>
      <ShortName>Stockholders' Equity - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>999035 - Disclosure - Stockholders' Equity - Computation of Basic and Diluted Earnings Per Share (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail</Role>
      <ShortName>Stockholders' Equity - Computation of Basic and Diluted Earnings Per Share (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>999036 - Disclosure - Stockholders' Equity - Antidilutive Securities Excluded from Computation of Earnings Per Share (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/StockholdersEquityAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareDetail</Role>
      <ShortName>Stockholders' Equity - Antidilutive Securities Excluded from Computation of Earnings Per Share (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>999037 - Disclosure - Revenue From Contracts With Customers - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/RevenueFromContractsWithCustomersAdditionalInformationDetail</Role>
      <ShortName>Revenue From Contracts With Customers - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>999038 - Disclosure - Stock-Based Compensation - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail</Role>
      <ShortName>Stock-Based Compensation - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>999039 - Disclosure - Stock-Based Compensation - Summary of Stock-Based Compensation Expenses (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationExpensesDetail</Role>
      <ShortName>Stock-Based Compensation - Summary of Stock-Based Compensation Expenses (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>999040 - Disclosure - Stock-Based Compensation - Summary of Assumptions Used to Estimate Fair Value of Each SAR (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail</Role>
      <ShortName>Stock-Based Compensation - Summary of Assumptions Used to Estimate Fair Value of Each SAR (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>999041 - Disclosure - Stock-Based Compensation - Summary of Stock-Based Compensation Grants (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationGrantsDetail</Role>
      <ShortName>Stock-Based Compensation - Summary of Stock-Based Compensation Grants (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>999042 - Disclosure - Income Taxes - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail</Role>
      <ShortName>Income Taxes - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>999043 - Disclosure - Commitments and Contingencies - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail</Role>
      <ShortName>Commitments and Contingencies - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="d788119d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>999044 - Disclosure - Commitments and Contingencies - Summary of Reconciliation of Company's Residential Product Warranty Reserve (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.trex.com/role/CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail</Role>
      <ShortName>Commitments and Contingencies - Summary of Reconciliation of Company's Residential Product Warranty Reserve (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Warning">[dq-0542-Deprecated-Concept] Concept ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsMethodUsed in us-gaap/2023 used in 1 facts was deprecated in us-gaap/2024 as of 2024 and should not be used. d788119d10q.htm 2931</Log>
    <Log type="Warning">[ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 1 fact(s) appearing in ix:hidden were eligible for transformation: us-gaap:NumberOfReportableSegments -  d788119d10q.htm 320</Log>
  </Logs>
  <InputFiles>
    <File doctype="10-Q" isDefinitelyFs="true" isUsgaap="true" original="d788119d10q.htm">d788119d10q.htm</File>
    <File>trex-20240331.xsd</File>
    <File>trex-20240331_cal.xml</File>
    <File>trex-20240331_def.xml</File>
    <File>trex-20240331_lab.xml</File>
    <File>trex-20240331_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>g788119dsp1.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="392">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="29">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
    <BaseTaxonomy items="4">http://xbrl.sec.gov/ecd/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>71
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "d788119d10q.htm": {
   "nsprefix": "trex",
   "nsuri": "http://www.trex.com/20240331",
   "dts": {
    "inline": {
     "local": [
      "d788119d10q.htm"
     ]
    },
    "schema": {
     "local": [
      "trex-20240331.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/currency/2023/currency-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd",
      "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd",
      "https://xbrl.sec.gov/ecd/2023/ecd-sub-2023.xsd",
      "https://xbrl.sec.gov/exch/2023/exch-2023.xsd",
      "https://xbrl.sec.gov/naics/2023/naics-2023.xsd",
      "https://xbrl.sec.gov/sic/2023/sic-2023.xsd",
      "https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "trex-20240331_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "trex-20240331_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "trex-20240331_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "trex-20240331_pre.xml"
     ]
    }
   },
   "keyStandard": 202,
   "keyCustom": 17,
   "axisStandard": 17,
   "axisCustom": 2,
   "memberStandard": 17,
   "memberCustom": 27,
   "hidden": {
    "total": 7,
    "http://xbrl.sec.gov/dei/2023": 4,
    "http://fasb.org/us-gaap/2023": 3
   },
   "contextCount": 100,
   "entityCount": 1,
   "segmentCount": 46,
   "elementCount": 465,
   "unitCount": 7,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 392,
    "http://xbrl.sec.gov/dei/2023": 29,
    "http://xbrl.sec.gov/ecd/2023": 4
   },
   "report": {
    "R1": {
     "role": "http://www.trex.com/role/CoverPage",
     "longName": "1001 - Document - Cover Page",
     "shortName": "Cover Page",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "dei:DocumentFiscalYearFocus",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "dei:DocumentPeriodEndDate",
       "div",
       "div",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "dei:DocumentFiscalYearFocus",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "dei:DocumentPeriodEndDate",
       "div",
       "div",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome",
     "longName": "1002 - Statement - Condensed Consolidated Statements Of Comprehensive Income",
     "shortName": "Condensed Consolidated Statements Of Comprehensive Income",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "unique": true
     }
    },
    "R3": {
     "role": "http://www.trex.com/role/CondensedConsolidatedBalanceSheets",
     "longName": "1003 - Statement - Condensed Consolidated Balance Sheets",
     "shortName": "Condensed Consolidated Balance Sheets",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "PAsOn03_31_2024",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "PAsOn03_31_2024",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://www.trex.com/role/CondensedConsolidatedBalanceSheetsParenthetical",
     "longName": "1004 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)",
     "shortName": "Condensed Consolidated Balance Sheets (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "PAsOn03_31_2024",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "unitRef": "Unit_USD_per_Share",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "us-gaap:PreferredStockParOrStatedValuePerShare",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "PAsOn03_31_2024",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "unitRef": "Unit_USD_per_Share",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "us-gaap:PreferredStockParOrStatedValuePerShare",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R5": {
     "role": "http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity",
     "longName": "1005 - Statement - Condensed Consolidated Statements of Changes in Stockholders' Equity",
     "shortName": "Condensed Consolidated Statements of Changes in Stockholders' Equity",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "PAsOn12_31_2022",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "PAsOn12_31_2022",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows",
     "longName": "1006 - Statement - Condensed Consolidated Statements of Cash Flows",
     "shortName": "Condensed Consolidated Statements of Cash Flows",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R7": {
     "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure",
     "longName": "995410 - Disclosure - Pay vs Performance Disclosure",
     "shortName": "Pay vs Performance Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "7",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R8": {
     "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
     "longName": "995445 - Disclosure - Insider Trading Arrangements",
     "shortName": "Insider Trading Arrangements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://www.trex.com/role/BusinessAndOrganization",
     "longName": "999001 - Disclosure - Business and Organization",
     "shortName": "Business and Organization",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:NatureOfOperations",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:NatureOfOperations",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://www.trex.com/role/BasisOfPresentation",
     "longName": "999002 - Disclosure - Basis of Presentation",
     "shortName": "Basis of Presentation",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.trex.com/role/RecentlyAdoptedAccountingStandards",
     "longName": "999003 - Disclosure - Recently Adopted Accounting Standards",
     "shortName": "Recently Adopted Accounting Standards",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://www.trex.com/role/NewAccountingStandardsNotYetAdopted",
     "longName": "999004 - Disclosure - New Accounting Standards Not Yet Adopted",
     "shortName": "New Accounting Standards Not Yet Adopted",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "trex:DescriptionOfNewAccountingStandardsNotYetAdoptedTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "trex:DescriptionOfNewAccountingStandardsNotYetAdoptedTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.trex.com/role/Inventories",
     "longName": "999005 - Disclosure - Inventories",
     "shortName": "Inventories",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.trex.com/role/PrepaidExpensesAndOtherAssets",
     "longName": "999006 - Disclosure - Prepaid Expenses and Other Assets",
     "shortName": "Prepaid Expenses and Other Assets",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "trex:PrepaidAndOtherCurrentAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "trex:PrepaidAndOtherCurrentAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNet",
     "longName": "999007 - Disclosure - Goodwill and Other Intangible Assets, Net",
     "shortName": "Goodwill and Other Intangible Assets, Net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.trex.com/role/AccruedExpensesAndOtherLiabilities",
     "longName": "999008 - Disclosure - Accrued Expenses and Other Liabilities",
     "shortName": "Accrued Expenses and Other Liabilities",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.trex.com/role/Debt",
     "longName": "999009 - Disclosure - Debt",
     "shortName": "Debt",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.trex.com/role/Leases",
     "longName": "999010 - Disclosure - Leases",
     "shortName": "Leases",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.trex.com/role/FinancialInstruments",
     "longName": "999011 - Disclosure - Financial Instruments",
     "shortName": "Financial Instruments",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:FinancialInstrumentsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:FinancialInstrumentsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://www.trex.com/role/StockholdersEquity",
     "longName": "999012 - Disclosure - Stockholders' Equity",
     "shortName": "Stockholders' Equity",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://www.trex.com/role/RevenueFromContractsWithCustomers",
     "longName": "999013 - Disclosure - Revenue From Contracts With Customers",
     "shortName": "Revenue From Contracts With Customers",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://www.trex.com/role/StockBasedCompensation",
     "longName": "999014 - Disclosure - Stock-Based Compensation",
     "shortName": "Stock-Based Compensation",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://www.trex.com/role/IncomeTaxes",
     "longName": "999015 - Disclosure - Income Taxes",
     "shortName": "Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://www.trex.com/role/Seasonality",
     "longName": "999016 - Disclosure - Seasonality",
     "shortName": "Seasonality",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "24",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "trex:SeasonalityDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "trex:SeasonalityDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://www.trex.com/role/CommitmentsAndContingencies",
     "longName": "999017 - Disclosure - Commitments and Contingencies",
     "shortName": "Commitments and Contingencies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "25",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://www.trex.com/role/InventoriesTables",
     "longName": "999018 - Disclosure - Inventories (Tables)",
     "shortName": "Inventories (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "26",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.trex.com/role/PrepaidExpensesAndOtherAssetsTables",
     "longName": "999019 - Disclosure - Prepaid Expenses and Other Assets (Tables)",
     "shortName": "Prepaid Expenses and Other Assets (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "27",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "trex:PrepaidExpenseAndOtherAssetsCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "trex:PrepaidAndOtherCurrentAssetsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "trex:PrepaidExpenseAndOtherAssetsCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "trex:PrepaidAndOtherCurrentAssetsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesTables",
     "longName": "999020 - Disclosure - Accrued Expenses and Other Liabilities (Tables)",
     "shortName": "Accrued Expenses and Other Liabilities (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "28",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "trex:ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "trex:ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.trex.com/role/LeasesTables",
     "longName": "999021 - Disclosure - Leases (Tables)",
     "shortName": "Leases (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "trex:SupplementalFinancialInformationOfOperatingLeasesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "trex:SupplementalFinancialInformationOfOperatingLeasesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.trex.com/role/StockholdersEquityTables",
     "longName": "999022 - Disclosure - Stockholders' Equity (Tables)",
     "shortName": "Stockholders' Equity (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://www.trex.com/role/StockBasedCompensationTables",
     "longName": "999023 - Disclosure - Stock-Based Compensation (Tables)",
     "shortName": "Stock-Based Compensation (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://www.trex.com/role/CommitmentsAndContingenciesTables",
     "longName": "999024 - Disclosure - Commitments and Contingencies (Tables)",
     "shortName": "Commitments and Contingencies (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://www.trex.com/role/BusinessAndOrganizationAdditionalInformationDetail",
     "longName": "999025 - Disclosure - Business and Organization - Additional Information (Detail)",
     "shortName": "Business and Organization - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "33",
     "firstAnchor": null,
     "uniqueAnchor": null
    },
    "R34": {
     "role": "http://www.trex.com/role/InventoriesSummaryOfInventoriesDetail",
     "longName": "999026 - Disclosure - Inventories - Summary of Inventories (Detail)",
     "shortName": "Inventories - Summary of Inventories (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "34",
     "firstAnchor": {
      "contextRef": "PAsOn03_31_2024",
      "name": "us-gaap:InventoryFinishedGoods",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "PAsOn03_31_2024",
      "name": "us-gaap:InventoryFinishedGoods",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.trex.com/role/PrepaidExpensesAndOtherAssetsSummaryOfPrepaidExpensesAndOtherAssetsDetail",
     "longName": "999027 - Disclosure - Prepaid Expenses and Other Assets - Summary of Prepaid Expenses and Other Assets (Detail)",
     "shortName": "Prepaid Expenses and Other Assets - Summary of Prepaid Expenses and Other Assets (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "35",
     "firstAnchor": {
      "contextRef": "PAsOn03_31_2024",
      "name": "us-gaap:PrepaidExpenseCurrent",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "trex:PrepaidExpenseAndOtherAssetsCurrentTableTextBlock",
       "trex:PrepaidAndOtherCurrentAssetsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "PAsOn03_31_2024",
      "name": "us-gaap:PrepaidExpenseCurrent",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "trex:PrepaidExpenseAndOtherAssetsCurrentTableTextBlock",
       "trex:PrepaidAndOtherCurrentAssetsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail",
     "longName": "999028 - Disclosure - Goodwill and Other Intangible Assets, Net - Additional Information (Detail)",
     "shortName": "Goodwill and Other Intangible Assets, Net - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "36",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail",
     "longName": "999029 - Disclosure - Accrued Expenses and Other Liabilities - Summary of Accrued Expenses and Other Liabilities (Detail)",
     "shortName": "Accrued Expenses and Other Liabilities - Summary of Accrued Expenses and Other Liabilities (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "37",
     "firstAnchor": {
      "contextRef": "PAsOn03_31_2024",
      "name": "us-gaap:AccruedMarketingCostsCurrent",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "trex:ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "PAsOn03_31_2024",
      "name": "us-gaap:AccruedMarketingCostsCurrent",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "trex:ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.trex.com/role/DebtAdditionalInformationDetail",
     "longName": "999030 - Disclosure - Debt - Additional Information (Detail)",
     "shortName": "Debt - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "38",
     "firstAnchor": {
      "contextRef": "PAsOn03_31_2024",
      "name": "us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "PAsOn03_31_2024",
      "name": "us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://www.trex.com/role/LeasesAdditionalInformationDetail",
     "longName": "999031 - Disclosure - Leases - Additional Information (Detail)",
     "shortName": "Leases - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "PAsOn03_31_2024",
      "name": "us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent",
      "unitRef": "Unit_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "PAsOn03_31_2024",
      "name": "us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent",
      "unitRef": "Unit_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail",
     "longName": "999032 - Disclosure - Leases - Supplemental Cash flow Information to operating leases (Detail)",
     "shortName": "Leases - Supplemental Cash flow Information to operating leases (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:OperatingLeasePayments",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "trex:SupplementalFinancialInformationOfOperatingLeasesTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:OperatingLeasePayments",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "trex:SupplementalFinancialInformationOfOperatingLeasesTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail",
     "longName": "999033 - Disclosure - Leases - Maturities of Operating Lease Liabilities (Detail)",
     "shortName": "Leases - Maturities of Operating Lease Liabilities (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "PAsOn03_31_2024",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "PAsOn03_31_2024",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://www.trex.com/role/StockholdersEquityAdditionalInformationDetail",
     "longName": "999034 - Disclosure - Stockholders' Equity - Additional Information (Detail)",
     "shortName": "Stockholders' Equity - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "PAsOn02_16_2018_TwoThousandEighteenStockRepurchaseProgramMemberusgaapShareRepurchaseProgramAxis",
      "name": "us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased",
      "unitRef": "Unit_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "PAsOn02_16_2018_TwoThousandEighteenStockRepurchaseProgramMemberusgaapShareRepurchaseProgramAxis",
      "name": "us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased",
      "unitRef": "Unit_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail",
     "longName": "999035 - Disclosure - Stockholders' Equity - Computation of Basic and Diluted Earnings Per Share (Detail)",
     "shortName": "Stockholders' Equity - Computation of Basic and Diluted Earnings Per Share (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024_StockAppreciationRightsMemberusgaapAwardTypeAxis",
      "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
      "unitRef": "Unit_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.trex.com/role/StockholdersEquityAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareDetail",
     "longName": "999036 - Disclosure - Stockholders' Equity - Antidilutive Securities Excluded from Computation of Earnings Per Share (Detail)",
     "shortName": "Stockholders' Equity - Antidilutive Securities Excluded from Computation of Earnings Per Share (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024_RestrictedStockMemberusgaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "Unit_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024_RestrictedStockMemberusgaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "Unit_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.trex.com/role/RevenueFromContractsWithCustomersAdditionalInformationDetail",
     "longName": "999037 - Disclosure - Revenue From Contracts With Customers - Additional Information (Detail)",
     "shortName": "Revenue From Contracts With Customers - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R46": {
     "role": "http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail",
     "longName": "999038 - Disclosure - Stock-Based Compensation - Additional Information (Detail)",
     "shortName": "Stock-Based Compensation - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "PAsOn03_31_2024",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "PAsOn03_31_2024",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationExpensesDetail",
     "longName": "999039 - Disclosure - Stock-Based Compensation - Summary of Stock-Based Compensation Expenses (Detail)",
     "shortName": "Stock-Based Compensation - Summary of Stock-Based Compensation Expenses (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://www.trex.com/role/StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail",
     "longName": "999040 - Disclosure - Stock-Based Compensation - Summary of Assumptions Used to Estimate Fair Value of Each SAR (Detail)",
     "shortName": "Stock-Based Compensation - Summary of Assumptions Used to Estimate Fair Value of Each SAR (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
      "unitRef": "Unit_USD_per_Share",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
      "unitRef": "Unit_USD_per_Share",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationGrantsDetail",
     "longName": "999041 - Disclosure - Stock-Based Compensation - Summary of Stock-Based Compensation Grants (Detail)",
     "shortName": "Stock-Based Compensation - Summary of Stock-Based Compensation Grants (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "P01_01_2024To03_31_2024_TimeBasedRestrictedStockUnitsMemberusgaapAwardTypeAxis",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
      "unitRef": "Unit_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P01_01_2024To03_31_2024_TimeBasedRestrictedStockUnitsMemberusgaapAwardTypeAxis",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
      "unitRef": "Unit_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail",
     "longName": "999042 - Disclosure - Income Taxes - Additional Information (Detail)",
     "shortName": "Income Taxes - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "PAsOn03_31_2024",
      "name": "us-gaap:DeferredTaxAssetsValuationAllowance",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "PAsOn03_31_2024",
      "name": "us-gaap:DeferredTaxAssetsValuationAllowance",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
     "longName": "999043 - Disclosure - Commitments and Contingencies - Additional Information (Detail)",
     "shortName": "Commitments and Contingencies - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "PAsOn03_31_2024",
      "name": "trex:SensitivityChangeInSurfaceFlakingWarrantyReserve",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "PAsOn03_31_2024",
      "name": "trex:SensitivityChangeInSurfaceFlakingWarrantyReserve",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R52": {
     "role": "http://www.trex.com/role/CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail",
     "longName": "999044 - Disclosure - Commitments and Contingencies - Summary of Reconciliation of Company's Residential Product Warranty Reserve (Detail)",
     "shortName": "Commitments and Contingencies - Summary of Reconciliation of Company's Residential Product Warranty Reserve (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "PAsOn12_31_2023_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis",
      "name": "us-gaap:StandardProductWarrantyAccrual",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "PAsOn12_31_2023_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis",
      "name": "us-gaap:StandardProductWarrantyAccrual",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d788119d10q.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AccountingChangesAndErrorCorrectionsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountingChangesAndErrorCorrectionsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Changes and Error Corrections [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
     "presentation": [
      "http://www.trex.com/role/AccruedExpensesAndOtherLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block]",
        "terseLabel": "Accrued Expenses and Other Liabilities",
        "documentation": "The entire disclosure for accounts payable, accrued expenses, and other liabilities that are classified as current at the end of the reporting period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Payable, Current",
        "terseLabel": "Accounts payable",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r566"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Net, Current",
        "terseLabel": "Accounts receivable, net",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r198",
      "r199"
     ]
    },
    "us-gaap_AccruedIncomeTaxesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedIncomeTaxesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail": {
       "parentTag": "trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Income Taxes, Current",
        "terseLabel": "Income Taxes",
        "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations."
       }
      }
     },
     "auth_ref": [
      "r48",
      "r84"
     ]
    },
    "trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 17.0
      },
      "http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail",
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Liabilities And Other Liabilities Current Excluding Warranty",
        "terseLabel": "Accrued expenses and other liabilities",
        "totalLabel": "Total accrued expenses and other liabilities",
        "documentation": "Accrued liabilities and other liabilities current excluding warranty."
       }
      }
     },
     "auth_ref": []
    },
    "trex_AccruedManufacturingExpensesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "AccruedManufacturingExpensesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail": {
       "parentTag": "trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Manufacturing Expenses Current",
        "terseLabel": "Manufacturing costs",
        "documentation": "Accrued expenses related to manufacturing facilities primarily consisting of accrued utilities, equipment rentals and temporary labor expenses."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccruedMarketingCostsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedMarketingCostsCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail": {
       "parentTag": "trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Marketing Costs, Current",
        "terseLabel": "Sales and marketing",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for the marketing, trade and selling of the entity's goods and services. Marketing costs would include expenditures for planning and executing the conception, pricing, promotion, and distribution of ideas, goods, and services; costs of public relations and corporate promotions; and obligations incurred and payable for sales discounts, rebates, price protection programs, etc. offered to customers and under government programs. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Additional402vDisclosureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional 402(v) Disclosure [Text Block]",
        "terseLabel": "Additional 402(v) Disclosure"
       }
      }
     },
     "auth_ref": [
      "r617"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 23.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid in Capital, Common Stock",
        "terseLabel": "Additional paid-in capital",
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital."
       }
      }
     },
     "auth_ref": [
      "r52"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid-in Capital [Member]",
        "terseLabel": "Additional Paid-In Capital [Member]",
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders."
       }
      }
     },
     "auth_ref": [
      "r337",
      "r338",
      "r339",
      "r463",
      "r680",
      "r681",
      "r682",
      "r730",
      "r745"
     ]
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation Amount",
        "terseLabel": "Adjustment to Compensation, Amount"
       }
      }
     },
     "auth_ref": [
      "r623"
     ]
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToCompAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation [Axis]",
        "terseLabel": "Adjustment to Compensation:"
       }
      }
     },
     "auth_ref": [
      "r623"
     ]
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToNonPeoNeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]",
        "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote"
       }
      }
     },
     "auth_ref": [
      "r623"
     ]
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToPeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment To PEO Compensation, Footnote [Text Block]",
        "terseLabel": "Adjustment To PEO Compensation, Footnote"
       }
      }
     },
     "auth_ref": [
      "r623"
     ]
    },
    "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile net income to net cash used in operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "debit",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments Related to Tax Withholding for Share-based Compensation",
        "negatedLabel": "Shares withheld for taxes on awards",
        "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Amount",
        "terseLabel": "Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r588",
      "r599",
      "r609",
      "r634"
     ]
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AggtErrCompNotYetDeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]",
        "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined"
       }
      }
     },
     "auth_ref": [
      "r591",
      "r602",
      "r612",
      "r637"
     ]
    },
    "trex_AgreementAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "AgreementAxis",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Agreement [Axis]",
        "terseLabel": "Agreement [Axis]",
        "documentation": "Agreement."
       }
      }
     },
     "auth_ref": []
    },
    "trex_AgreementDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "AgreementDomain",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Agreement [Domain]",
        "terseLabel": "Agreement [Domain]",
        "documentation": "Agreement domain."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllAdjToCompMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Adjustments to Compensation [Member]",
        "terseLabel": "All Adjustments to Compensation"
       }
      }
     },
     "auth_ref": [
      "r623"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Executive Categories [Member]",
        "terseLabel": "All Executive Categories"
       }
      }
     },
     "auth_ref": [
      "r630"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllIndividualsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Individuals [Member]",
        "terseLabel": "All Individuals"
       }
      }
     },
     "auth_ref": [
      "r595",
      "r603",
      "r613",
      "r630",
      "r638",
      "r642",
      "r650"
     ]
    },
    "ecd_AllTradingArrangementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllTradingArrangementsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Trading Arrangements [Member]",
        "terseLabel": "All Trading Arrangements"
       }
      }
     },
     "auth_ref": [
      "r648"
     ]
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllocatedShareBasedCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationExpensesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allocated Share-based Compensation Expense",
        "terseLabel": "Stock-based compensation expense",
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized."
       }
      }
     },
     "auth_ref": [
      "r333",
      "r340"
     ]
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization of Intangible Assets",
        "verboseLabel": "Amortization of intangible asset",
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r30",
      "r34"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "terseLabel": "Anti-dilutive securities excluded from the computation of diluted earnings per share",
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r177"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities [Axis]",
        "terseLabel": "Antidilutive Securities [Axis]",
        "documentation": "Information by type of antidilutive security."
       }
      }
     },
     "auth_ref": [
      "r29"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]",
        "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]",
        "documentation": "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesNameDomain",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities, Name [Domain]",
        "terseLabel": "Antidilutive Securities, Name [Domain]",
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r29"
     ]
    },
    "us-gaap_AreaOfLand": {
     "xbrltype": "areaItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AreaOfLand",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Area of Land",
        "documentation": "Area of land held."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets",
        "totalLabel": "Total assets",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r82",
      "r114",
      "r139",
      "r182",
      "r189",
      "r193",
      "r200",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r364",
      "r368",
      "r385",
      "r424",
      "r497",
      "r566",
      "r579",
      "r697",
      "r698",
      "r734"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "ASSETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsAndLiabilitiesLesseeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAndLiabilitiesLesseeAbstract",
     "presentation": [
      "http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets and Liabilities, Lessee [Abstract]",
        "verboseLabel": "Operating lease liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current",
        "totalLabel": "Total current assets",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r108",
      "r121",
      "r139",
      "r200",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r364",
      "r368",
      "r385",
      "r566",
      "r697",
      "r698",
      "r734"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Exercise Price",
        "terseLabel": "Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r645"
     ]
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardGrantDateFairValue",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Grant Date Fair Value",
        "terseLabel": "Fair Value as of Grant Date"
       }
      }
     },
     "auth_ref": [
      "r646"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgDiscLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Disclosures [Line Items]",
        "terseLabel": "Award Timing Disclosures"
       }
      }
     },
     "auth_ref": [
      "r641"
     ]
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgHowMnpiCnsdrdTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing, How MNPI Considered [Text Block]",
        "terseLabel": "Award Timing, How MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r641"
     ]
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Method [Text Block]",
        "terseLabel": "Award Timing Method"
       }
      }
     },
     "auth_ref": [
      "r641"
     ]
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMnpiCnsdrdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Considered [Flag]",
        "terseLabel": "Award Timing MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r641"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMnpiDiscTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Disclosure [Text Block]",
        "terseLabel": "Award Timing MNPI Disclosure"
       }
      }
     },
     "auth_ref": [
      "r641"
     ]
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgPredtrmndFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Predetermined [Flag]",
        "terseLabel": "Award Timing Predetermined"
       }
      }
     },
     "auth_ref": [
      "r641"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail",
      "http://www.trex.com/role/StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail",
      "http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationExpensesDetail",
      "http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationGrantsDetail",
      "http://www.trex.com/role/StockBasedCompensationTables",
      "http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Award Type [Axis]",
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Underlying Securities Amount",
        "terseLabel": "Underlying Securities"
       }
      }
     },
     "auth_ref": [
      "r644"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r643"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures"
       }
      }
     },
     "auth_ref": [
      "r642"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures, Table"
       }
      }
     },
     "auth_ref": [
      "r642"
     ]
    },
    "us-gaap_BaseRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BaseRateMember",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Base Rate [Member]",
        "terseLabel": "Base Rate [Member]",
        "documentation": "Minimum rate investor will accept."
       }
      }
     },
     "auth_ref": []
    },
    "trex_CapitalExpendituresInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "CapitalExpendituresInAccountsPayable",
     "crdr": "credit",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capital Expenditures In Accounts Payable",
        "terseLabel": "Capital expenditures in accounts payable",
        "documentation": "Capital expenditures in accounts payable."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "terseLabel": "Cash and cash equivalents",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r27",
      "r110",
      "r543"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents",
        "periodEndLabel": "Cash and cash equivalents, end of period",
        "periodStartLabel": "Cash and cash equivalents, beginning of period",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r27",
      "r67",
      "r136"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "totalLabel": "Net increase (decrease) in cash and cash equivalents",
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r67"
     ]
    },
    "us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract]",
        "terseLabel": "Supplemental non-cash investing and financing disclosure:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashFlowOperatingActivitiesLesseeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashFlowOperatingActivitiesLesseeAbstract",
     "presentation": [
      "http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Flow, Operating Activities, Lessee [Abstract]",
        "verboseLabel": "Supplemental cash flow information"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ChangedPeerGroupFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changed Peer Group, Footnote [Text Block]",
        "terseLabel": "Changed Peer Group, Footnote"
       }
      }
     },
     "auth_ref": [
      "r621"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ClassOfStockDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ClassOfStockDomain",
     "presentation": [
      "http://www.trex.com/role/LeasesAdditionalInformationDetail",
      "http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail",
      "http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail",
      "http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationGrantsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Domain]",
        "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock."
       }
      }
     },
     "auth_ref": [
      "r100",
      "r115",
      "r116",
      "r117",
      "r139",
      "r168",
      "r172",
      "r174",
      "r176",
      "r180",
      "r181",
      "r200",
      "r239",
      "r241",
      "r242",
      "r243",
      "r246",
      "r247",
      "r275",
      "r276",
      "r278",
      "r281",
      "r287",
      "r385",
      "r456",
      "r457",
      "r458",
      "r459",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r485",
      "r506",
      "r523",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r656",
      "r676",
      "r683"
     ]
    },
    "us-gaap_ClassOfTreasuryStockTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ClassOfTreasuryStockTable",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Treasury Stock [Table]",
        "terseLabel": "Class of Treasury Stock [Table]",
        "documentation": "Disclosure of information about treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r36",
      "r37",
      "r38"
     ]
    },
    "ecd_CoSelectedMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CoSelectedMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Amount",
        "terseLabel": "Company Selected Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r622"
     ]
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CoSelectedMeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Name",
        "terseLabel": "Company Selected Measure Name"
       }
      }
     },
     "auth_ref": [
      "r622"
     ]
    },
    "trex_CommercialUseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "CommercialUseMember",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commercial Use [Member]",
        "terseLabel": "Commercial Use [Member]",
        "documentation": "Commercial use."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies",
        "terseLabel": "Commitments and contingencies",
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r45",
      "r426",
      "r484"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Commitments and Contingencies",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r73",
      "r228",
      "r229",
      "r539",
      "r690"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r569",
      "r570",
      "r571",
      "r573",
      "r574",
      "r575",
      "r576",
      "r680",
      "r681",
      "r730",
      "r744",
      "r745"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common stock, par value",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r51"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock, shares authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r485"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares, Issued",
        "terseLabel": "Common stock, shares issued",
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r51"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares, Outstanding",
        "terseLabel": "Common stock, shares outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r51",
      "r485",
      "r503",
      "r745",
      "r746"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 22.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Value, Issued",
        "terseLabel": "Common stock, $0.01 par value, 360,000,000 shares authorized; 141,056,063 and 140,974,843 shares issued and 108,692,757 and 108,611,537 share outstanding, at March 31, 2024 and December 31, 2023, respectively",
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r428",
      "r566"
     ]
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Company Selected Measure"
       }
      }
     },
     "auth_ref": [
      "r627"
     ]
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsNetIncomeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Net Income [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Net Income"
       }
      }
     },
     "auth_ref": [
      "r626"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsOtherMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Other Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Other Measure"
       }
      }
     },
     "auth_ref": [
      "r628"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return"
       }
      }
     },
     "auth_ref": [
      "r625"
     ]
    },
    "trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "ComponentsOfBasicAndDilutedEarningPerShareLineItems",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Components Of Basic And Diluted Earning Per Share [Line Items]",
        "terseLabel": "Components Of Basic And Diluted Earning Per Share [Line Items]",
        "documentation": "Components Of Basic And Diluted Earning Per Share [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "trex_ComponentsOfBasicAndDilutedEarningPerShareTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "ComponentsOfBasicAndDilutedEarningPerShareTable",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Components Of Basic And Diluted Earning Per Share [Table]",
        "terseLabel": "Components Of Basic And Diluted Earning Per Share [Table]",
        "documentation": "Components Of Basic And Diluted Earning Per Share [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "totalLabel": "Comprehensive income",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r123",
      "r125",
      "r129",
      "r420",
      "r435"
     ]
    },
    "us-gaap_ContingentConsiderationByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContingentConsiderationByTypeAxis",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.trex.com/role/CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contingent Consideration by Type [Axis]",
        "terseLabel": "Contingent Consideration by Type [Axis]",
        "documentation": "Information by type of contingent consideration."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContingentConsiderationTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContingentConsiderationTypeDomain",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.trex.com/role/CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contingent Consideration Type [Domain]",
        "terseLabel": "Contingent Consideration Type [Domain]",
        "documentation": "Description of contingent payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfGoodsAndServicesSold",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Cost of sales",
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities."
       }
      }
     },
     "auth_ref": [
      "r63",
      "r413"
     ]
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CreditFacilityAxis",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility [Axis]",
        "terseLabel": "Credit Facility [Axis]",
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditFacilityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CreditFacilityDomain",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility [Domain]",
        "terseLabel": "Credit Facility [Domain]",
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": []
    },
    "trex_CreditFacilityOneAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "CreditFacilityOneAxis",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility One [Axis]",
        "terseLabel": "Credit Facility One [Axis]",
        "documentation": "Credit facility one axis."
       }
      }
     },
     "auth_ref": []
    },
    "trex_CreditFacilityOneDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "CreditFacilityOneDomain",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility One [Domain]",
        "terseLabel": "Credit Facility One [Domain]",
        "documentation": "Credit facility one domain."
       }
      }
     },
     "auth_ref": []
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureTextBlock",
     "presentation": [
      "http://www.trex.com/role/Debt"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Text Block]",
        "terseLabel": "Debt",
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants."
       }
      }
     },
     "auth_ref": [
      "r74",
      "r137",
      "r248",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r264",
      "r271",
      "r272",
      "r273"
     ]
    },
    "us-gaap_DebtInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentAxis",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Axis]",
        "terseLabel": "Debt Instrument [Axis]",
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r47",
      "r48",
      "r83",
      "r85",
      "r141",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r255",
      "r260",
      "r261",
      "r262",
      "r263",
      "r265",
      "r266",
      "r267",
      "r268",
      "r269",
      "r270",
      "r395",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r677"
     ]
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Basis Spread on Variable Rate",
        "terseLabel": "Interest rate",
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentDescriptionOfVariableRateBasis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentDescriptionOfVariableRateBasis",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Description of Variable Rate Basis",
        "terseLabel": "Debt instrument, description of variable rate basis",
        "documentation": "Description of reference rate used for variable rate of debt instrument."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "terseLabel": "Debt instrument, Interest rate, Stated percentage",
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r250"
     ]
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentNameDomain",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Name [Domain]",
        "terseLabel": "Debt Instrument, Name [Domain]",
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r141",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r255",
      "r260",
      "r261",
      "r262",
      "r263",
      "r265",
      "r266",
      "r267",
      "r268",
      "r269",
      "r270",
      "r395",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r677"
     ]
    },
    "us-gaap_DebtWeightedAverageInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtWeightedAverageInterestRate",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt, Weighted Average Interest Rate",
        "terseLabel": "Debt, Weighted Average Interest Rate",
        "documentation": "Weighted average interest rate of debt outstanding."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Expense (Benefit)",
        "terseLabel": "Deferred Income Taxes",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r80",
      "r93",
      "r358",
      "r359",
      "r679"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Liabilities, Net",
        "terseLabel": "Deferred income taxes",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r342",
      "r343",
      "r425"
     ]
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsValuationAllowance",
     "crdr": "credit",
     "presentation": [
      "http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Valuation Allowance",
        "verboseLabel": "Valuation allowance",
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized."
       }
      }
     },
     "auth_ref": [
      "r349"
     ]
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepreciationDepletionAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation, Depletion and Amortization",
        "terseLabel": "Depreciation and amortization",
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r185"
     ]
    },
    "trex_DescriptionOfNewAccountingStandardsNotYetAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "DescriptionOfNewAccountingStandardsNotYetAdoptedTextBlock",
     "presentation": [
      "http://www.trex.com/role/NewAccountingStandardsNotYetAdopted"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Description Of New Accounting Standards Not Yet Adopted [Text Block]",
        "terseLabel": "New Accounting Standards Not Yet Adopted",
        "documentation": "Description of new accounting standards not yet adopted."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]",
        "terseLabel": "Stock-Based Compensation",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r302",
      "r306",
      "r334",
      "r335",
      "r336",
      "r561"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Disclosure of Compensation Related Costs, Share-based Payments [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r583"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r616"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarliestTaxYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarliestTaxYearMember",
     "presentation": [
      "http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earliest Tax Year [Member]",
        "documentation": "Earliest identified tax year."
       }
      }
     },
     "auth_ref": [
      "r728"
     ]
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome",
      "http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Basic",
        "terseLabel": "Basic earnings per common share",
        "verboseLabel": "Basic earnings per share",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r130",
      "r156",
      "r157",
      "r158",
      "r159",
      "r160",
      "r166",
      "r168",
      "r174",
      "r175",
      "r176",
      "r178",
      "r380",
      "r381",
      "r421",
      "r436",
      "r547"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome",
      "http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Diluted",
        "terseLabel": "Diluted earnings per common share",
        "verboseLabel": "Diluted earnings per share",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r130",
      "r156",
      "r157",
      "r158",
      "r159",
      "r160",
      "r168",
      "r174",
      "r175",
      "r176",
      "r178",
      "r380",
      "r381",
      "r421",
      "r436",
      "r547"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "presentation": [
      "http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "terseLabel": "Effective tax rate",
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r345"
     ]
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail": {
       "parentTag": "trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee-related Liabilities, Current",
        "terseLabel": "Compensation and benefits",
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r15"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions",
     "crdr": "debit",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options",
        "terseLabel": "Unrecognized compensation cost related to unvested awards",
        "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r727"
     ]
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Stock Option [Member]",
        "terseLabel": "Employee Stock Option",
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time."
       }
      }
     },
     "auth_ref": []
    },
    "trex_EmployeeStockPurchasePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "EmployeeStockPurchasePlanMember",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationExpensesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Stock Purchase Plan [Member]",
        "terseLabel": "Employee Stock Purchase Plan [Member]",
        "documentation": "Employee stock purchase plan."
       }
      }
     },
     "auth_ref": []
    },
    "trex_EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Enhance Decking And Transcend, Select, Enhance And Signature Railing [Member]",
        "documentation": "Enhance decking and transcend, select, enhance and signature railing."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r581"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r581"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r581"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r655"
     ]
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r581"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r581"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r581"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r581"
     ]
    },
    "us-gaap_EquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityClassOfTreasuryStockLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityClassOfTreasuryStockLineItems",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity, Class of Treasury Stock [Line Items]",
        "terseLabel": "Equity, Class of Treasury Stock [Line Items]",
        "documentation": "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity",
      "http://www.trex.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Component [Domain]",
        "terseLabel": "Equity Component [Domain]",
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r105",
      "r126",
      "r127",
      "r128",
      "r147",
      "r148",
      "r149",
      "r153",
      "r161",
      "r163",
      "r179",
      "r201",
      "r204",
      "r288",
      "r337",
      "r338",
      "r339",
      "r351",
      "r352",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r376",
      "r379",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r409",
      "r445",
      "r446",
      "r447",
      "r463",
      "r523"
     ]
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "EquityValuationAssumptionDifferenceFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Valuation Assumption Difference, Footnote [Text Block]",
        "terseLabel": "Equity Valuation Assumption Difference, Footnote"
       }
      }
     },
     "auth_ref": [
      "r624"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ErrCompAnalysisTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneous Compensation Analysis [Text Block]",
        "terseLabel": "Erroneous Compensation Analysis"
       }
      }
     },
     "auth_ref": [
      "r588",
      "r599",
      "r609",
      "r634"
     ]
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ErrCompRecoveryTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneously Awarded Compensation Recovery [Table]",
        "terseLabel": "Erroneously Awarded Compensation Recovery"
       }
      }
     },
     "auth_ref": [
      "r585",
      "r596",
      "r606",
      "r631"
     ]
    },
    "trex_ExcessTaxBenefitsFromStockBasedAwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "ExcessTaxBenefitsFromStockBasedAwards",
     "crdr": "credit",
     "presentation": [
      "http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Excess Tax Benefits From Stock Based Awards",
        "terseLabel": "Excess tax benefits from stock based awards",
        "documentation": "Excess Tax Benefits From Stock Based Awards."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Category [Axis]",
        "terseLabel": "Executive Category:"
       }
      }
     },
     "auth_ref": [
      "r630"
     ]
    },
    "trex_FifthAmendmentAndRestatedAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "FifthAmendmentAndRestatedAgreementMember",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fifth Amendment And Restated Agreement [Member]",
        "terseLabel": "Fifth Amendment And Restated Agreement [Member]",
        "documentation": "Fifth amendment and restated agreement member."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinancialInstrumentsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinancialInstrumentsDisclosureTextBlock",
     "presentation": [
      "http://www.trex.com/role/FinancialInstruments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Instruments Disclosure [Text Block]",
        "terseLabel": "Financial Instruments",
        "documentation": "The entire disclosure for financial instruments. This disclosure includes, but is not limited to, fair value measurements of short and long term marketable securities, international currencies forward contracts, and auction rate securities. Financial instruments may include hedging and non-hedging currency exchange instruments, derivatives, securitizations and securities available for sale at fair value. Also included are investment results, realized and unrealized gains and losses as well as impairments and risk management disclosures."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinancingReceivablePortfolioSegmentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinancingReceivablePortfolioSegmentAxis",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable Portfolio Segment [Axis]",
        "terseLabel": "Financing Receivable Portfolio Segment [Axis]",
        "documentation": "Information by the level at which an entity develops and documents a systematic methodology to determine its allowance for credit losses."
       }
      }
     },
     "auth_ref": [
      "r101",
      "r102",
      "r103",
      "r104",
      "r205",
      "r206",
      "r551",
      "r658",
      "r659",
      "r660",
      "r661",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r667"
     ]
    },
    "us-gaap_FinancingReceivablePortfolioSegmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinancingReceivablePortfolioSegmentDomain",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable Portfolio Segment [Domain]",
        "terseLabel": "Financing Receivable Portfolio Segment [Domain]",
        "documentation": "Level at which an entity develops and documents a systematic methodology to determine its allowance for credit losses."
       }
      }
     },
     "auth_ref": [
      "r101",
      "r102",
      "r103",
      "r104",
      "r658",
      "r659",
      "r660",
      "r661",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r667"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "presentation": [
      "http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "terseLabel": "Amortization period",
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "terseLabel": "Accumulated Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r112",
      "r225"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "documentation": "Information by major type or class of finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r222",
      "r224",
      "r225",
      "r227",
      "r414",
      "r418"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company."
       }
      }
     },
     "auth_ref": [
      "r31",
      "r33"
     ]
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount",
        "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount"
       }
      }
     },
     "auth_ref": [
      "r592",
      "r603",
      "r613",
      "r638"
     ]
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Expense of Enforcement, Amount",
        "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount"
       }
      }
     },
     "auth_ref": [
      "r592",
      "r603",
      "r613",
      "r638"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Violation of Home Country Law, Amount",
        "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount"
       }
      }
     },
     "auth_ref": [
      "r592",
      "r603",
      "r613",
      "r638"
     ]
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Explanation of Impracticability [Text Block]",
        "terseLabel": "Forgone Recovery, Explanation of Impracticability"
       }
      }
     },
     "auth_ref": [
      "r592",
      "r603",
      "r613",
      "r638"
     ]
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r592",
      "r603",
      "r613",
      "r638"
     ]
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain (Loss) on Disposition of Property Plant Equipment",
        "negatedLabel": "Loss (gain) on disposal of property, plant and equipment",
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Goodwill",
     "crdr": "debit",
     "presentation": [
      "http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill",
        "terseLabel": "Goodwill",
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r111",
      "r210",
      "r419",
      "r552",
      "r566",
      "r687",
      "r688"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Text Block]",
        "terseLabel": "Goodwill and Other Intangible Assets, Net",
        "documentation": "The entire disclosure for goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r71"
     ]
    },
    "us-gaap_GoodwillLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillLineItems",
     "presentation": [
      "http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill [Line Items]",
        "terseLabel": "Goodwill [Line Items]",
        "documentation": "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."
       }
      }
     },
     "auth_ref": [
      "r211",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r219",
      "r220",
      "r221",
      "r552"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross Profit",
        "totalLabel": "Gross profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r62",
      "r139",
      "r182",
      "r188",
      "r192",
      "r194",
      "r200",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r385",
      "r549",
      "r697"
     ]
    },
    "us-gaap_GuaranteeObligationsByNatureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GuaranteeObligationsByNatureAxis",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Guarantor Obligations, Nature [Axis]",
        "terseLabel": "Guarantor Obligations, Nature [Axis]",
        "documentation": "Information by nature of guarantee."
       }
      }
     },
     "auth_ref": [
      "r234",
      "r235",
      "r236",
      "r237"
     ]
    },
    "us-gaap_GuaranteeObligationsNatureDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GuaranteeObligationsNatureDomain",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Guarantor Obligations, Nature [Domain]",
        "terseLabel": "Guarantor Obligations, Nature [Domain]",
        "documentation": "Represents a description of the nature of the guarantee or each group of similar guarantees."
       }
      }
     },
     "auth_ref": [
      "r234",
      "r235",
      "r236",
      "r237"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "totalLabel": "Income before income taxes",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r60",
      "r88",
      "r182",
      "r188",
      "r192",
      "r194",
      "r422",
      "r432",
      "r549"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxAuthorityNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityNameAxis",
     "presentation": [
      "http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority, Name [Axis]",
        "documentation": "Information by name of taxing authority."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_IncomeTaxAuthorityNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityNameDomain",
     "presentation": [
      "http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority, Name [Domain]",
        "documentation": "Named agency, division or body that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxContingencyLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxContingencyLineItems",
     "presentation": [
      "http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Contingency [Line Items]",
        "terseLabel": "Income Tax Contingency [Line Items]",
        "documentation": "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxContingencyTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxContingencyTable",
     "presentation": [
      "http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Contingency [Table]",
        "terseLabel": "Income Tax Contingency [Table]",
        "documentation": "Disclosure of information about tax positions taken in the tax returns filed or to be filed for which it is more likely than not that the tax position will not be sustained upon examination by taxing authorities and other income tax contingencies. Includes, but is not limited to, interest and penalties, reconciliation of unrecognized tax benefits, unrecognized tax benefits that would affect the effective tax rate, tax years that remain subject to examination by tax jurisdictions, and information about positions for which it is reasonably possible that amounts unrecognized will significantly change within 12 months."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r42",
      "r78",
      "r79"
     ]
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://www.trex.com/role/IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Text Block]",
        "terseLabel": "Income Taxes",
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information."
       }
      }
     },
     "auth_ref": [
      "r140",
      "r341",
      "r346",
      "r348",
      "r350",
      "r356",
      "r360",
      "r361",
      "r362",
      "r461"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome",
      "http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Expense (Benefit)",
        "verboseLabel": "Provision for income taxes",
        "terseLabel": "Income tax expense (benefit)",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r91",
      "r96",
      "r162",
      "r163",
      "r186",
      "r344",
      "r357",
      "r437"
     ]
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes Paid, Net",
        "verboseLabel": "Cash paid for income taxes, net",
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes."
       }
      }
     },
     "auth_ref": [
      "r28"
     ]
    },
    "us-gaap_IncomeTaxesReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxesReceivable",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/PrepaidExpensesAndOtherAssetsSummaryOfPrepaidExpensesAndOtherAssetsDetail": {
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/PrepaidExpensesAndOtherAssetsSummaryOfPrepaidExpensesAndOtherAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes Receivable, Current",
        "terseLabel": "Income tax receivable",
        "documentation": "Carrying amount due within one year of the balance sheet date (or one operating cycle, if longer) from tax authorities as of the balance sheet date representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes."
       }
      }
     },
     "auth_ref": [
      "r44",
      "r668"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsPayable",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 19.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Accounts Payable",
        "terseLabel": "Accounts payable",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedLabel": "Accounts receivable",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 20.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities",
        "terseLabel": "Accrued expenses and other liabilities",
        "documentation": "Amount of increase (decrease) in accrued expenses, and obligations classified as other."
       }
      }
     },
     "auth_ref": [
      "r675"
     ]
    },
    "us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 21.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Income Taxes Payable, Net of Income Taxes Receivable",
        "terseLabel": "Income taxes receivable/payable",
        "documentation": "The increase (decrease) during the reporting period in the amounts payable to taxing authorities for taxes that are based on the reporting entity's earnings, net of amounts receivable from taxing authorities for refunds of overpayments or recoveries of income taxes."
       }
      }
     },
     "auth_ref": [
      "r675"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 17.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Inventories",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingAssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingAssetsAbstract",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Assets [Abstract]",
        "terseLabel": "Changes in operating assets and liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 18.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "negatedLabel": "Prepaid expenses and other assets",
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements",
        "terseLabel": "Dilutive securities",
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method."
       }
      }
     },
     "auth_ref": [
      "r169",
      "r170",
      "r171",
      "r176",
      "r305"
     ]
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IndefiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Indefinite-lived Intangible Assets [Axis]",
        "terseLabel": "Indefinite-lived Intangible Assets [Axis]",
        "documentation": "Information by type or class of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit."
       }
      }
     },
     "auth_ref": [
      "r223",
      "r226"
     ]
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IndefiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Indefinite-lived Intangible Assets, Major Class Name [Domain]",
        "terseLabel": "Indefinite-lived Intangible Assets, Major Class Name [Domain]",
        "documentation": "The major class of indefinite-lived intangible asset (for example, trade names, etc. but not all-inclusive), excluding goodwill. A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of the company."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r72"
     ]
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "IndividualAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Individual [Axis]",
        "terseLabel": "Individual:"
       }
      }
     },
     "auth_ref": [
      "r595",
      "r603",
      "r613",
      "r630",
      "r638",
      "r642",
      "r650"
     ]
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]",
        "terseLabel": "Insider Trading Arrangements:"
       }
      }
     },
     "auth_ref": [
      "r648"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]",
        "terseLabel": "Insider Trading Policies and Procedures:"
       }
      }
     },
     "auth_ref": [
      "r584",
      "r654"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTrdPoliciesProcAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Adopted [Flag]",
        "terseLabel": "Insider Trading Policies and Procedures Adopted"
       }
      }
     },
     "auth_ref": [
      "r584",
      "r654"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]",
        "terseLabel": "Insider Trading Policies and Procedures Not Adopted"
       }
      }
     },
     "auth_ref": [
      "r584",
      "r654"
     ]
    },
    "us-gaap_IntangibleAssetsGrossExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsGrossExcludingGoodwill",
     "crdr": "debit",
     "presentation": [
      "http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible Assets, Gross (Excluding Goodwill)",
        "verboseLabel": "Intangible Assets",
        "documentation": "Amount before accumulated amortization of intangible assets, excluding goodwill."
       }
      }
     },
     "auth_ref": [
      "r111"
     ]
    },
    "us-gaap_IntangibleAssetsNetIncludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsNetIncludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible Assets, Net (Including Goodwill)",
        "terseLabel": "Goodwill and other intangible assets, net",
        "documentation": "Carrying amount of finite-lived intangible assets, indefinite-lived intangible assets and goodwill. Goodwill is an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized. Intangible assets are assets, not including financial assets, lacking physical substance."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestIncomeExpenseNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestIncomeExpenseNet",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Income (Expense), Net",
        "negatedLabel": "Interest (income) expense, net",
        "documentation": "The net amount of operating interest income (expense)."
       }
      }
     },
     "auth_ref": [
      "r90"
     ]
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities",
        "verboseLabel": "Cash paid for interest, net of capitalized interest",
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount."
       }
      }
     },
     "auth_ref": [
      "r131",
      "r134",
      "r135"
     ]
    },
    "us-gaap_InternalRevenueServiceIRSMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InternalRevenueServiceIRSMember",
     "presentation": [
      "http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Internal Revenue Service (IRS) [Member]",
        "verboseLabel": "Federal Tax Jurisdiction [Member]",
        "documentation": "Designated tax department of the United States of America government entitled to levy and collect income taxes from the entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InternetDomainNamesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InternetDomainNamesMember",
     "presentation": [
      "http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Internet Domain Names [Member]",
        "terseLabel": "Domain Names [Member]",
        "documentation": "String of typographic characters used to describe the location of a specific individual, business, computer, or piece of information online. Formally known as the Uniform Resource Locator or URL, it is often considered to be the address of a certain World Wide Web site."
       }
      }
     },
     "auth_ref": [
      "r43"
     ]
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryDisclosureTextBlock",
     "presentation": [
      "http://www.trex.com/role/Inventories"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Text Block]",
        "terseLabel": "Inventories",
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory."
       }
      }
     },
     "auth_ref": [
      "r207"
     ]
    },
    "us-gaap_InventoryFinishedGoods": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryFinishedGoods",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/InventoriesSummaryOfInventoriesDetail": {
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/InventoriesSummaryOfInventoriesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Finished Goods, Gross",
        "terseLabel": "Finished goods",
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r669"
     ]
    },
    "us-gaap_InventoryGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryGross",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/InventoriesSummaryOfInventoriesDetail": {
       "parentTag": "us-gaap_LIFOInventoryAmount",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/InventoriesSummaryOfInventoriesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Gross",
        "totalLabel": "Total FIFO (first-in, first-out) inventories",
        "documentation": "Gross amount, as of the balance sheet date, of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r672"
     ]
    },
    "us-gaap_InventoryLIFOReserve": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryLIFOReserve",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/InventoriesSummaryOfInventoriesDetail": {
       "parentTag": "us-gaap_LIFOInventoryAmount",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/InventoriesSummaryOfInventoriesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, LIFO Reserve",
        "negatedTerseLabel": "Reserve to adjust inventories to LIFO value",
        "documentation": "Amount by which inventory stated at last-in first-out (LIFO) is less than (in excess of) inventory stated at other inventory cost methods."
       }
      }
     },
     "auth_ref": [
      "r671"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Net",
        "terseLabel": "Inventories",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r118",
      "r544",
      "r566"
     ]
    },
    "us-gaap_InventoryRawMaterials": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryRawMaterials",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/InventoriesSummaryOfInventoriesDetail": {
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/InventoriesSummaryOfInventoriesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Raw Materials, Gross",
        "terseLabel": "Raw materials",
        "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r670"
     ]
    },
    "us-gaap_InvestmentsAllOtherInvestmentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InvestmentsAllOtherInvestmentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Investments, All Other Investments [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LIFOInventoryAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LIFOInventoryAmount",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/InventoriesSummaryOfInventoriesDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.trex.com/role/InventoriesSummaryOfInventoriesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LIFO Inventory Amount",
        "totalLabel": "Total LIFO inventories",
        "documentation": "The amount of LIFO (last in first out) inventory present at the reporting date when inventory is also valued using different valuation methods."
       }
      }
     },
     "auth_ref": [
      "r546"
     ]
    },
    "us-gaap_LatestTaxYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LatestTaxYearMember",
     "presentation": [
      "http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Latest Tax Year [Member]",
        "documentation": "Latest identified tax year."
       }
      }
     },
     "auth_ref": [
      "r728"
     ]
    },
    "us-gaap_LeasesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeasesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://www.trex.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]",
        "verboseLabel": "Maturities of operating lease liabilities",
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r732"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due",
        "totalLabel": "Total lease payments",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r408"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due after Year Five",
        "verboseLabel": "Thereafter",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r408"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Next Twelve Months",
        "verboseLabel": "2025",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r408"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r408"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four",
        "verboseLabel": "2028",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r408"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three",
        "verboseLabel": "2027",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r408"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two",
        "verboseLabel": "2026",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r408"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "crdr": "credit",
     "presentation": [
      "http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year",
        "terseLabel": "2024",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r732"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "negatedLabel": "Less imputed interest",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r408"
     ]
    },
    "trex_LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail": {
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee Operating leases Accrued Expenses And Other Current Liabilities",
        "verboseLabel": "Accrued expenses and other current liabilities",
        "documentation": "Represents accrued expenses and other current liabilities of operating leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://www.trex.com/role/Leases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Leases [Text Block]",
        "terseLabel": "Leases",
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r398"
     ]
    },
    "us-gaap_LessorOperatingLeaseTermOfContract": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LessorOperatingLeaseTermOfContract",
     "presentation": [
      "http://www.trex.com/role/LeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessor, Operating Lease, Term of Contract",
        "verboseLabel": "Operating Lease terms",
        "documentation": "Term of lessor's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r733"
     ]
    },
    "us-gaap_LetterOfCreditMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LetterOfCreditMember",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Letter of Credit [Member]",
        "terseLabel": "Letter of Credit [Member]",
        "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities",
        "totalLabel": "Total liabilities",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r139",
      "r200",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r365",
      "r368",
      "r369",
      "r385",
      "r483",
      "r548",
      "r579",
      "r697",
      "r734",
      "r735"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity",
        "totalLabel": "Total liabilities and stockholders' equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r56",
      "r87",
      "r430",
      "r566",
      "r678",
      "r686",
      "r731"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "terseLabel": "LIABILITIES AND STOCKHOLDERS' EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current",
        "totalLabel": "Total current liabilities",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r109",
      "r139",
      "r200",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r365",
      "r368",
      "r369",
      "r385",
      "r566",
      "r697",
      "r734",
      "r735"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCredit",
     "crdr": "credit",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Line of Credit",
        "terseLabel": "Long-Term Line of Credit",
        "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r85",
      "r742"
     ]
    },
    "trex_LineOfCreditFacilityAdditionalBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "LineOfCreditFacilityAdditionalBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility Additional Borrowing Capacity",
        "terseLabel": "Revolving loans in a collective maximum principal amount",
        "documentation": "Line of Credit Facility, Additional Borrowing Capacity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityAxis",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lender Name [Axis]",
        "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r677"
     ]
    },
    "us-gaap_LineOfCreditFacilityExpirationDate1": {
     "xbrltype": "dateItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityExpirationDate1",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Expiration Date",
        "terseLabel": "Termination date of the Credit Agreement",
        "documentation": "Date the credit facility terminates, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "us-gaap_LineOfCreditFacilityLenderDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityLenderDomain",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Lender [Domain]",
        "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r677"
     ]
    },
    "us-gaap_LineOfCreditFacilityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityLineItems",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [Line Items]",
        "terseLabel": "Line of Credit Facility [Line Items]",
        "documentation": "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."
       }
      }
     },
     "auth_ref": [
      "r677"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "terseLabel": "Revolving loans in a collective maximum principal amount",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityRemainingBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Remaining Borrowing Capacity",
        "terseLabel": "Remaining available borrowing capacity",
        "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding)."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "us-gaap_LineOfCreditFacilityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityTable",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [Table]",
        "terseLabel": "Line of Credit Facility [Table]",
        "documentation": "A table or schedule providing information pertaining to short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r677"
     ]
    },
    "us-gaap_LinesOfCreditCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LinesOfCreditCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 19.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets",
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit, Current",
        "verboseLabel": "Line of credit",
        "positiveLabel": "Outstanding borrowing capacity",
        "documentation": "The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r83"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Category of Item Purchased [Axis]",
        "terseLabel": "Category of Item Purchased [Axis]",
        "documentation": "Information by category of items purchased under a long-term purchase commitment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term Purchase Commitment, Category of Item Purchased [Domain]",
        "terseLabel": "Long-term Purchase Commitment, Category of Item Purchased [Domain]",
        "documentation": "General description of the goods or services to be purchased from the counterparty to the long-term purchase commitment."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MaximumMember",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail",
      "http://www.trex.com/role/LeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum [Member]"
       }
      }
     },
     "auth_ref": [
      "r230",
      "r231",
      "r232",
      "r233",
      "r301",
      "r412",
      "r444",
      "r475",
      "r476",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r540",
      "r541",
      "r550",
      "r558",
      "r560",
      "r568",
      "r699",
      "r736",
      "r737",
      "r738",
      "r739",
      "r740",
      "r741"
     ]
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure [Axis]",
        "terseLabel": "Measure:"
       }
      }
     },
     "auth_ref": [
      "r622"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r622"
     ]
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MinimumMember",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail",
      "http://www.trex.com/role/LeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum [Member]"
       }
      }
     },
     "auth_ref": [
      "r230",
      "r231",
      "r232",
      "r233",
      "r301",
      "r412",
      "r444",
      "r475",
      "r476",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r540",
      "r541",
      "r550",
      "r558",
      "r560",
      "r568",
      "r699",
      "r736",
      "r737",
      "r738",
      "r739",
      "r740",
      "r741"
     ]
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MnpiDiscTimedForCompValFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "MNPI Disclosure Timed for Compensation Value [Flag]",
        "terseLabel": "MNPI Disclosure Timed for Compensation Value"
       }
      }
     },
     "auth_ref": [
      "r641"
     ]
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MtrlTermsOfTrdArrTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Terms of Trading Arrangement [Text Block]",
        "terseLabel": "Material Terms of Trading Arrangement"
       }
      }
     },
     "auth_ref": [
      "r649"
     ]
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NamedExecutiveOfficersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Named Executive Officers, Footnote [Text Block]",
        "terseLabel": "Named Executive Officers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r623"
     ]
    },
    "us-gaap_NatureOfOperations": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NatureOfOperations",
     "presentation": [
      "http://www.trex.com/role/BusinessAndOrganization"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nature of Operations [Text Block]",
        "terseLabel": "Business and Organization",
        "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward."
       }
      }
     },
     "auth_ref": [
      "r92",
      "r98"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Net cash provided by financing activities",
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r133"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "terseLabel": "FINANCING ACTIVITIES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Net cash used in investing activities",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r133"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "terseLabel": "INVESTING ACTIVITIES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Net cash used in operating activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r68",
      "r69"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "OPERATING ACTIVITIES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity",
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome",
      "http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income",
        "disclosureGuidance": "Net income",
        "presentationGuidance": "Net income available to common shareholders",
        "label": "Net Income (Loss)",
        "terseLabel": "Net Income (Loss)",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r61",
      "r69",
      "r89",
      "r107",
      "r122",
      "r124",
      "r128",
      "r139",
      "r152",
      "r156",
      "r157",
      "r158",
      "r159",
      "r162",
      "r163",
      "r173",
      "r182",
      "r188",
      "r192",
      "r194",
      "r200",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r381",
      "r385",
      "r434",
      "r505",
      "r521",
      "r522",
      "r549",
      "r577",
      "r697"
     ]
    },
    "us-gaap_NetIncomeLossAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLossAbstract",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss) Attributable to Parent [Abstract]",
        "terseLabel": "Numerator:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
     "presentation": [
      "http://www.trex.com/role/RecentlyAdoptedAccountingStandards"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New Accounting Pronouncements and Changes in Accounting Principles [Text Block]",
        "verboseLabel": "Recently Adopted Accounting Standards",
        "documentation": "The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle."
       }
      }
     },
     "auth_ref": [
      "r94",
      "r95",
      "r97",
      "r106",
      "r150",
      "r151",
      "r154",
      "r155",
      "r164",
      "r165",
      "r202",
      "r203",
      "r353",
      "r354",
      "r355",
      "r375",
      "r378",
      "r382",
      "r383",
      "r384",
      "r386",
      "r387",
      "r388",
      "r396",
      "r397",
      "r410",
      "r415",
      "r416",
      "r417",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452"
     ]
    },
    "trex_NewAccountingStandardsNotYetAdoptedAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "NewAccountingStandardsNotYetAdoptedAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "New Accounting Standards Not Yet Adopted [Abstract]",
        "documentation": "New accounting standards not yet adopted abstract"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonGaapMeasureDescriptionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-GAAP Measure Description [Text Block]",
        "terseLabel": "Non-GAAP Measure Description"
       }
      }
     },
     "auth_ref": [
      "r622"
     ]
    },
    "ecd_NonNeosMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonNeosMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-NEOs [Member]",
        "terseLabel": "Non-NEOs"
       }
      }
     },
     "auth_ref": [
      "r592",
      "r603",
      "r613",
      "r630",
      "r638"
     ]
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoAvgCompActuallyPaidAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Compensation Actually Paid Amount",
        "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r620"
     ]
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoAvgTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Total Compensation Amount",
        "terseLabel": "Non-PEO NEO Average Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r619"
     ]
    },
    "ecd_NonPeoNeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO [Member]",
        "terseLabel": "Non-PEO NEO"
       }
      }
     },
     "auth_ref": [
      "r630"
     ]
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r649"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r649"
     ]
    },
    "us-gaap_NumberOfReportableSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NumberOfReportableSegments",
     "presentation": [
      "http://www.trex.com/role/BusinessAndOrganizationAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of Reportable Segments",
        "verboseLabel": "Number of reportable segments",
        "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements."
       }
      }
     },
     "auth_ref": [
      "r685"
     ]
    },
    "us-gaap_OpenTaxYear": {
     "xbrltype": "gYearListItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OpenTaxYear",
     "presentation": [
      "http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Open Tax Year",
        "terseLabel": "Tax years subject to examination",
        "documentation": "Tax year that remains open to examination under enacted tax laws, in YYYY format."
       }
      }
     },
     "auth_ref": [
      "r347"
     ]
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Income (Loss)",
        "totalLabel": "Income from operations",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r182",
      "r188",
      "r192",
      "r194",
      "r549"
     ]
    },
    "us-gaap_OperatingLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseCost",
     "crdr": "debit",
     "presentation": [
      "http://www.trex.com/role/LeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Cost",
        "verboseLabel": "Operating lease cost",
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability."
       }
      }
     },
     "auth_ref": [
      "r403",
      "r565"
     ]
    },
    "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract",
     "presentation": [
      "http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease Liabilities, Payments Due [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail",
      "http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability",
        "totalLabel": "Total operating lease liabilities",
        "terseLabel": "Total operating lease liabilities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r400"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail": {
       "parentTag": "trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Current",
        "terseLabel": "Operating lease liabilities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r400"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]",
        "documentation": "Indicates line item in statement of financial position that includes current operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r401"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail": {
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets",
      "http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Noncurrent",
        "verboseLabel": "Operating lease liabilities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r400"
     ]
    },
    "us-gaap_OperatingLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Payments",
        "verboseLabel": "Cash paid for amounts included in the measurement of operating lease liabilities",
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use."
       }
      }
     },
     "auth_ref": [
      "r402",
      "r404"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets",
      "http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Right-of-Use Asset",
        "verboseLabel": "Operating lease assets",
        "terseLabel": "Operating lease ROU assets",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r399"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://www.trex.com/role/LeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "verboseLabel": "Weighted average discount rate",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r407",
      "r565"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://www.trex.com/role/LeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "verboseLabel": "Weighted average remaining lease term",
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r406",
      "r565"
     ]
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
     "presentation": [
      "http://www.trex.com/role/BasisOfPresentation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]",
        "verboseLabel": "Basis of Presentation",
        "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure."
       }
      }
     },
     "auth_ref": [
      "r46",
      "r81",
      "r453",
      "r454"
     ]
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail": {
       "parentTag": "trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Accrued Liabilities, Current",
        "terseLabel": "Other",
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r15"
     ]
    },
    "us-gaap_OtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/PrepaidExpensesAndOtherAssetsSummaryOfPrepaidExpensesAndOtherAssetsDetail": {
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/PrepaidExpensesAndOtherAssetsSummaryOfPrepaidExpensesAndOtherAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets, Current",
        "terseLabel": "Other",
        "documentation": "Amount of current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r120",
      "r566"
     ]
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets, Noncurrent",
        "terseLabel": "Other assets",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r113"
     ]
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Liabilities, Noncurrent",
        "terseLabel": "Other long-term liabilities",
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r19"
     ]
    },
    "us-gaap_OtherNoncashIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNoncashIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Noncash Income (Expense)",
        "negatedLabel": "Other non-cash adjustments",
        "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other."
       }
      }
     },
     "auth_ref": [
      "r69"
     ]
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OtherPerfMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Performance Measure, Amount",
        "terseLabel": "Other Performance Measure, Amount"
       }
      }
     },
     "auth_ref": [
      "r622"
     ]
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingAggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Aggregate Erroneous Compensation Amount",
        "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r590",
      "r601",
      "r611",
      "r636"
     ]
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery Compensation Amount",
        "terseLabel": "Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r593",
      "r604",
      "r614",
      "r639"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r593",
      "r604",
      "r614",
      "r639"
     ]
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Line Items]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r618"
     ]
    },
    "us-gaap_PayablesAndAccrualsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PayablesAndAccrualsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Payables and Accruals [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "trex_PaymentsForProceedsFromFinancingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "PaymentsForProceedsFromFinancingCosts",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments For Proceeds From Financing Costs",
        "negatedLabel": "Financing costs",
        "documentation": "Payments for (proceeds from) financing costs."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments for Repurchase of Common Stock",
        "negatedLabel": "Repurchases of common stock",
        "documentation": "The cash outflow to reacquire common stock during the period."
       }
      }
     },
     "auth_ref": [
      "r25"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Expenditures for property, plant and equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r66"
     ]
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeerGroupIssuersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Issuers, Footnote [Text Block]",
        "terseLabel": "Peer Group Issuers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r621"
     ]
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeerGroupTotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Total Shareholder Return Amount",
        "terseLabel": "Peer Group Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r621"
     ]
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoActuallyPaidCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Actually Paid Compensation Amount",
        "terseLabel": "PEO Actually Paid Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r620"
     ]
    },
    "ecd_PeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO [Member]",
        "terseLabel": "PEO"
       }
      }
     },
     "auth_ref": [
      "r630"
     ]
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Name",
        "terseLabel": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r623"
     ]
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Total Compensation Amount",
        "terseLabel": "PEO Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r619"
     ]
    },
    "trex_PercentSensitivityChangeInExpectedSurfaceFlakingClaims": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "PercentSensitivityChangeInExpectedSurfaceFlakingClaims",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Percent Sensitivity Change In Expected Surface Flaking Claims",
        "terseLabel": "Percentage change in warranty claims used as a threshold for disclosure",
        "documentation": "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."
       }
      }
     },
     "auth_ref": []
    },
    "trex_PerformanceBasedRestrictedStockAdjustmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "PerformanceBasedRestrictedStockAdjustmentMember",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Performance Based Restricted Stock Adjustment [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "trex_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Performance Based Restricted Stock And Performance Based Restricted Stock Units [Member]",
        "terseLabel": "Performance-Based Restricted Stock and Performance-Based Restricted Stock Units [Member]",
        "documentation": "Performance based restricted stock and performance based restricted stock units."
       }
      }
     },
     "auth_ref": []
    },
    "trex_PerformanceBasedRestrictedStockAndrestrictedStockunitsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "PerformanceBasedRestrictedStockAndrestrictedStockunitsMember",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationExpensesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Performance Based Restricted Stock And Restricted Stock Units [Member]",
        "terseLabel": "Performance-Based Restricted Stock and Restricted Stock Units [Member]",
        "documentation": "Performance\u200b based \u200brestricted\u200b stock\u200b and\u200b restricted\u200b stock\u200b units.\u200b"
       }
      }
     },
     "auth_ref": []
    },
    "trex_PerformanceBasedRestrictedStockUnitsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "PerformanceBasedRestrictedStockUnitsMember",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationGrantsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Performance Based Restricted Stock Units [Member]",
        "verboseLabel": "Performance Based Restricted Stock Units [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "terseLabel": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716",
      "r717",
      "r718",
      "r719",
      "r720",
      "r721",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Domain]",
        "terseLabel": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716",
      "r717",
      "r718",
      "r719",
      "r720",
      "r721",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726"
     ]
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Par or Stated Value Per Share",
        "terseLabel": "Preferred stock, par value",
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r275"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Shares Authorized",
        "terseLabel": "Preferred stock, shares authorized",
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r485"
     ]
    },
    "us-gaap_PreferredStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesIssued",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Shares Issued",
        "terseLabel": "Preferred stock, shares issued",
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r275"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Shares Outstanding",
        "terseLabel": "Preferred stock, shares outstanding",
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r485",
      "r503",
      "r745",
      "r746"
     ]
    },
    "us-gaap_PreferredStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 21.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Value, Issued",
        "verboseLabel": "Preferred stock, $0.01 par value, 3,000,000 shares authorized; none issued and outstanding",
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r427",
      "r566"
     ]
    },
    "trex_PrepaidAndOtherCurrentAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "PrepaidAndOtherCurrentAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.trex.com/role/PrepaidExpensesAndOtherAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid And Other Current Assets Disclosure [Text Block]",
        "terseLabel": "Prepaid Expenses and Other Assets",
        "documentation": "The entire disclosure pertaining to prepaid and other current assets."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpenseAndOtherAssetsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Expense and Other Assets [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 9.0
      },
      "http://www.trex.com/role/PrepaidExpensesAndOtherAssetsSummaryOfPrepaidExpensesAndOtherAssetsDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets",
      "http://www.trex.com/role/PrepaidExpensesAndOtherAssetsSummaryOfPrepaidExpensesAndOtherAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Expense and Other Assets, Current",
        "terseLabel": "Prepaid expenses and other assets",
        "totalLabel": "Total prepaid expenses and other assets",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r673"
     ]
    },
    "trex_PrepaidExpenseAndOtherAssetsCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "PrepaidExpenseAndOtherAssetsCurrentTableTextBlock",
     "presentation": [
      "http://www.trex.com/role/PrepaidExpensesAndOtherAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Expense And Other Assets Current [Table Text Block]",
        "terseLabel": "Summary of Prepaid Expenses and Other Assets",
        "documentation": "Tabular disclosure pertaining to prepaid expense and other assets current."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PrepaidExpenseCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpenseCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/PrepaidExpensesAndOtherAssetsSummaryOfPrepaidExpensesAndOtherAssetsDetail": {
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/PrepaidExpensesAndOtherAssetsSummaryOfPrepaidExpensesAndOtherAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Expense, Current",
        "terseLabel": "Prepaid expenses",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r119",
      "r208",
      "r209",
      "r545"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Issuance of Shares under Incentive and Share-based Compensation Plans, Including Stock Options",
        "terseLabel": "Proceeds from employee stock purchase and option plans",
        "documentation": "Amount of cash inflow from issuance of shares under share-based payment arrangement. Includes, but is not limited to, option exercised."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r9"
     ]
    },
    "us-gaap_ProceedsFromLinesOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromLinesOfCredit",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Lines of Credit",
        "terseLabel": "Borrowings under line of credit",
        "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r677"
     ]
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Sale of Property, Plant, and Equipment",
        "terseLabel": "Proceeds from sales of property, plant and equipment",
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r65"
     ]
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "auth_ref": [
      "r195",
      "r413",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r542",
      "r559",
      "r567",
      "r657",
      "r691",
      "r692",
      "r700",
      "r743"
     ]
    },
    "us-gaap_ProductWarrantyLiabilityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyLiabilityLineItems",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranty Liability [Line Items]",
        "terseLabel": "Product Warranty Liability [Line Items]",
        "documentation": "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductWarrantyLiabilityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyLiabilityTable",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranty Liability [Table]",
        "terseLabel": "Product Warranty Liability [Table]",
        "documentation": "Disclosure of information about product warranty liability, including, but not limited to, reductions in the liability for payments made under the warranty, changes in the liability for accruals related to product warranties issued, and changes in the liability for accruals related to preexisting warranties."
       }
      }
     },
     "auth_ref": []
    },
    "trex_ProductWarrantyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "ProductWarrantyMember",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranty [Member]",
        "terseLabel": "Product Warranty [Member]",
        "documentation": "Product warranty."
       }
      }
     },
     "auth_ref": []
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]"
       }
      }
     },
     "auth_ref": [
      "r195",
      "r413",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r542",
      "r559",
      "r567",
      "r657",
      "r691",
      "r692",
      "r700",
      "r743"
     ]
    },
    "trex_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Products Sold on or After January One, Two Thousand and Twenty Three [Member]",
        "documentation": "Products sold on or after january\u00a0one, two thousand and twenty three [Member]."
       }
      }
     },
     "auth_ref": []
    },
    "trex_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Products Sold Prior to January One, Two Thousand and Twenty Three [Member]",
        "documentation": "Products sold prior to\u00a0january\u00a0one, two thousand and twenty three {Member]."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProfitLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProfitLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 22.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest",
        "terseLabel": "Net income",
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r107",
      "r122",
      "r124",
      "r132",
      "r139",
      "r152",
      "r162",
      "r163",
      "r182",
      "r188",
      "r192",
      "r194",
      "r200",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r363",
      "r366",
      "r367",
      "r381",
      "r385",
      "r422",
      "r433",
      "r462",
      "r505",
      "r521",
      "r522",
      "r549",
      "r563",
      "r564",
      "r578",
      "r674",
      "r697"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Net",
        "terseLabel": "Property, plant and equipment, net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r423",
      "r431",
      "r566"
     ]
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PvpTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Table]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r618"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PvpTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance [Table Text Block]",
        "terseLabel": "Pay vs Performance Disclosure, Table"
       }
      }
     },
     "auth_ref": [
      "r618"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeAxis",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.trex.com/role/DebtAdditionalInformationDetail",
      "http://www.trex.com/role/LeasesAdditionalInformationDetail",
      "http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]",
        "terseLabel": "Range [Axis]"
       }
      }
     },
     "auth_ref": [
      "r230",
      "r231",
      "r232",
      "r233",
      "r300",
      "r301",
      "r329",
      "r330",
      "r331",
      "r411",
      "r412",
      "r444",
      "r475",
      "r476",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r540",
      "r541",
      "r550",
      "r558",
      "r560",
      "r568",
      "r571",
      "r689",
      "r699",
      "r737",
      "r738",
      "r739",
      "r740",
      "r741"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeMember",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.trex.com/role/DebtAdditionalInformationDetail",
      "http://www.trex.com/role/LeasesAdditionalInformationDetail",
      "http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]",
        "terseLabel": "Range [Domain]"
       }
      }
     },
     "auth_ref": [
      "r230",
      "r231",
      "r232",
      "r233",
      "r300",
      "r301",
      "r329",
      "r330",
      "r331",
      "r411",
      "r412",
      "r444",
      "r475",
      "r476",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r540",
      "r541",
      "r550",
      "r558",
      "r560",
      "r568",
      "r571",
      "r689",
      "r699",
      "r737",
      "r738",
      "r739",
      "r740",
      "r741"
     ]
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]",
        "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure"
       }
      }
     },
     "auth_ref": [
      "r585",
      "r596",
      "r606",
      "r631"
     ]
    },
    "us-gaap_RepaymentsOfLinesOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RepaymentsOfLinesOfCredit",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Repayments of Lines of Credit",
        "negatedLabel": "Principal payments under line of credit",
        "documentation": "Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r677"
     ]
    },
    "us-gaap_ReportingUnitAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReportingUnitAxis",
     "presentation": [
      "http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reporting Unit [Axis]",
        "documentation": "Information by reporting unit."
       }
      }
     },
     "auth_ref": [
      "r220",
      "r221",
      "r552"
     ]
    },
    "us-gaap_ReportingUnitDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReportingUnitDomain",
     "presentation": [
      "http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reporting Unit [Domain]",
        "documentation": "Level of reporting at which goodwill is tested for impairment."
       }
      }
     },
     "auth_ref": [
      "r220",
      "r221",
      "r552"
     ]
    },
    "trex_ResidentialAndCommercialUseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "ResidentialAndCommercialUseMember",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Residential and Commercial Use [Member]",
        "documentation": "Residential and commercial use member."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ResidentialPortfolioSegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResidentialPortfolioSegmentMember",
     "presentation": [
      "http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Residential Portfolio Segment [Member]",
        "terseLabel": "Residential [Member]",
        "documentation": "Portfolio segment of the company's total financing receivables related to residential financing receivables."
       }
      }
     },
     "auth_ref": []
    },
    "trex_ResidentialUseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "ResidentialUseMember",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Residential Use [Member]",
        "terseLabel": "Residential Use [Member]",
        "documentation": "Residential use."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date [Axis]",
        "terseLabel": "Restatement Determination Date:"
       }
      }
     },
     "auth_ref": [
      "r586",
      "r597",
      "r607",
      "r632"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date",
        "terseLabel": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r587",
      "r598",
      "r608",
      "r633"
     ]
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDoesNotRequireRecoveryTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Does Not Require Recovery [Text Block]",
        "terseLabel": "Restatement does not require Recovery"
       }
      }
     },
     "auth_ref": [
      "r594",
      "r605",
      "r615",
      "r640"
     ]
    },
    "us-gaap_RestrictedStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockMember",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareDetail",
      "http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock [Member]",
        "terseLabel": "Restricted stock [Member]",
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met."
       }
      }
     },
     "auth_ref": [
      "r29"
     ]
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 24.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings (Accumulated Deficit)",
        "terseLabel": "Retained earnings",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r76",
      "r429",
      "r448",
      "r452",
      "r460",
      "r486",
      "r566"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings [Member]",
        "verboseLabel": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r105",
      "r147",
      "r148",
      "r149",
      "r153",
      "r161",
      "r163",
      "r201",
      "r204",
      "r337",
      "r338",
      "r339",
      "r351",
      "r352",
      "r370",
      "r372",
      "r373",
      "r376",
      "r379",
      "r445",
      "r447",
      "r463",
      "r745"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome",
      "http://www.trex.com/role/RevenueFromContractsWithCustomersAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer, Excluding Assessed Tax",
        "terseLabel": "Net sales",
        "documentation": "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."
       }
      }
     },
     "auth_ref": [
      "r183",
      "r184",
      "r187",
      "r190",
      "r191",
      "r195",
      "r196",
      "r197",
      "r297",
      "r298",
      "r413"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://www.trex.com/role/RevenueFromContractsWithCustomers"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Text Block]",
        "terseLabel": "Revenue From Contracts With Customers",
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts."
       }
      }
     },
     "auth_ref": [
      "r99",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r299"
     ]
    },
    "trex_RevolvingBLoanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "RevolvingBLoanMember",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revolving B Loan [Member]",
        "terseLabel": "Revolving B Loan [Member]",
        "documentation": "Revolving b loan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevolvingCreditFacilityMember",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revolving Credit Facility [Member]",
        "terseLabel": "Revolving Credit Facility [Member]",
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability",
        "verboseLabel": "Operating ROU assets obtained in exchange for lease liabilities",
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r405",
      "r565"
     ]
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r649"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r649"
     ]
    },
    "trex_ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Accrued Liabilities and Other Current Liabilities [Table Text Block]",
        "terseLabel": "Summary of Accrued Expenses and Other Liabilities",
        "documentation": "Tabular disclosure of the components of accrued liabilities and other current liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]",
        "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]",
        "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities."
       }
      }
     },
     "auth_ref": [
      "r29"
     ]
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]",
        "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share",
        "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities."
       }
      }
     },
     "auth_ref": [
      "r29"
     ]
    },
    "trex_ScheduleOfCommitmentsAndContingenciesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "ScheduleOfCommitmentsAndContingenciesLineItems",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Commitments And Contingencies [Line Items]",
        "terseLabel": "Schedule Of Commitments And Contingencies [Line Items]",
        "documentation": "Schedule of commitments and contingencies."
       }
      }
     },
     "auth_ref": []
    },
    "trex_ScheduleOfCommitmentsAndContingenciesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "ScheduleOfCommitmentsAndContingenciesTable",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Commitments And Contingencies [Table]",
        "terseLabel": "Schedule Of Commitments And Contingencies [Table]",
        "documentation": "Schedule Of Commitments And Contingencies [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Compensation Cost for Share-based Payment Arrangements, Allocation of Share-based Compensation Costs by Plan [Table Text Block]",
        "terseLabel": "Summary of Stock-Based Compensation Expense",
        "documentation": "Tabular disclosure of cost recognized for award under share-based payment arrangement by plan. Includes, but is not limited to, related tax benefit."
       }
      }
     },
     "auth_ref": [
      "r41"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "terseLabel": "Computation of Basic and Diluted Earnings Per Share",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r684"
     ]
    },
    "us-gaap_ScheduleOfGoodwillTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfGoodwillTable",
     "presentation": [
      "http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Goodwill [Table]",
        "terseLabel": "Schedule of Goodwill [Table]",
        "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons."
       }
      }
     },
     "auth_ref": [
      "r211",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r219",
      "r220",
      "r221",
      "r552"
     ]
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://www.trex.com/role/InventoriesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "terseLabel": "Summary of Inventories",
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r57",
      "r58",
      "r59"
     ]
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Product Warranty Liability [Table Text Block]",
        "terseLabel": "Summary of Reconciliation of Company's Residential Product Warranty Reserve",
        "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability."
       }
      }
     },
     "auth_ref": [
      "r238"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail",
      "http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationExpensesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]",
        "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]",
        "documentation": "Disclosure of information about share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r303",
      "r304",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332"
     ]
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]",
        "terseLabel": "Summary of Assumptions Used to Estimate Fair Value of Each SAR",
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions."
       }
      }
     },
     "auth_ref": [
      "r77"
     ]
    },
    "trex_SeasonalityDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "SeasonalityDisclosureTextBlock",
     "presentation": [
      "http://www.trex.com/role/Seasonality"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Seasonality Disclosure [Text Block]",
        "terseLabel": "Seasonality",
        "documentation": "Identifies seasonal trends affecting the demand for Trex products and quarterly net sales."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member]",
        "terseLabel": "Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member]",
        "documentation": "Fixed rate on U.S. dollar, constant-notional interest rate swap that has its variable-rate leg referenced to Secured Overnight Financing Rate (SOFR) with no additional spread over SOFR on variable-rate leg."
       }
      }
     },
     "auth_ref": [
      "r729"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r580"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r582"
     ]
    },
    "trex_SelectDeckingAndUniversalFasciaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "SelectDeckingAndUniversalFasciaMember",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Select Decking And Universal Fascia [Member]",
        "documentation": "Select decking and universal fascia."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling, General and Administrative Expense",
        "terseLabel": "Selling, general and administrative expenses",
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc."
       }
      }
     },
     "auth_ref": [
      "r64"
     ]
    },
    "trex_SensitivityChangeInSurfaceFlakingWarrantyReserve": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "SensitivityChangeInSurfaceFlakingWarrantyReserve",
     "crdr": "credit",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sensitivity Change In Surface Flaking Warranty Reserve",
        "terseLabel": "Change in warranty reserve for disclosure purposes only",
        "documentation": "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation",
        "terseLabel": "Stock-based compensation",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail",
      "http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationGrantsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "terseLabel": "Number of shares or rights issued",
        "definitionGuidance": "Stock Awards Granted",
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r321"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "verboseLabel": "Weighted-average fair value of grants",
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r321"
     ]
    },
    "trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share Based Compensation Arrangement by Share Based Payment Award Fair Value Assumptions and Methodology [Line Items]",
        "terseLabel": "Share Based Compensation Arrangement by Share Based Payment Award Fair Value Assumptions and Methodology [Line Items]",
        "documentation": "Share Based Compensation Arrangement by Share Based Payment Award Fair Value Assumptions and Methodology [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyTable",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions And Methodology [Table]",
        "terseLabel": "Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions And Methodology [Table]",
        "documentation": "Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions And Methodology [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate",
        "terseLabel": "Dividend yield",
        "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term."
       }
      }
     },
     "auth_ref": [
      "r330"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate",
        "terseLabel": "Expected volatility",
        "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period."
       }
      }
     },
     "auth_ref": [
      "r329"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsMethodUsed": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsMethodUsed",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Method Used",
        "terseLabel": "Fair value assumptions method used",
        "documentation": "Description of method used to estimate fair value of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r40"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate",
        "terseLabel": "Average risk-free interest rate",
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": [
      "r331"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail",
      "http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationExpensesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "documentation": "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."
       }
      }
     },
     "auth_ref": [
      "r303",
      "r304",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332"
     ]
    },
    "trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationGrantsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Non Options Equity Instruments Granted Weighted Average Grant Price",
        "verboseLabel": "Weighted-Average Grant Price Per Share",
        "documentation": "Share based compensation arrangement by share based payment award non options equity instruments granted weighted average grant price."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized",
        "terseLabel": "Total aggregate number of shares of common stock that may be issued",
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r562"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value [Table Text Block]",
        "verboseLabel": "Summary of Stock-Based Compensation Grants",
        "documentation": "Tabular disclosure of the weighted-average grant-date fair value of equity options or other equity instruments granted during the year."
       }
      }
     },
     "auth_ref": [
      "r39"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail",
      "http://www.trex.com/role/StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail",
      "http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationExpensesDetail",
      "http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationGrantsDetail",
      "http://www.trex.com/role/StockBasedCompensationTables",
      "http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Equity Award [Domain]",
        "label": "All Award Types",
        "terseLabel": "All Award Types",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332"
     ]
    },
    "us-gaap_ShareRepurchaseProgramAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareRepurchaseProgramAxis",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share Repurchase Program [Axis]",
        "terseLabel": "Share Repurchase Program [Axis]",
        "documentation": "Information by share repurchase program."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareRepurchaseProgramDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareRepurchaseProgramDomain",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share Repurchase Program [Domain]",
        "terseLabel": "Share Repurchase Program [Domain]",
        "documentation": "Name of the share repurchase program."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term",
        "terseLabel": "Expected term (years)",
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r328"
     ]
    },
    "us-gaap_SharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesIssued",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares, Issued",
        "periodEndLabel": "Ending Balance, Shares",
        "periodStartLabel": "Beginning Balance, Shares",
        "documentation": "Number of shares of stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares Paid for Tax Withholding for Share Based Compensation",
        "negatedLabel": "Shares withheld for taxes on awards, Shares",
        "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "trex_SignatureRailingAndTranscendCladdingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "SignatureRailingAndTranscendCladdingMember",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Signature Railing And Transcend Cladding [Member]",
        "documentation": "Signature railing and transcend cladding."
       }
      }
     },
     "auth_ref": []
    },
    "trex_SignatureRailingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "SignatureRailingMember",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Signature Railing [Member]",
        "documentation": "Signature railing [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StandardProductWarrantyAccrual": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StandardProductWarrantyAccrual",
     "crdr": "credit",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Standard Product Warranty Accrual",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance",
        "documentation": "Amount as of the balance sheet date of the aggregate standard product warranty liability. Does not include the balance for the extended product warranty liability."
       }
      }
     },
     "auth_ref": [
      "r693",
      "r696"
     ]
    },
    "us-gaap_StandardProductWarrantyAccrualCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StandardProductWarrantyAccrualCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 18.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Standard Product Warranty Accrual, Current",
        "terseLabel": "Accrued warranty",
        "documentation": "Amount as of the balance sheet date of the aggregate standard product warranty liability that is expected to be paid within one year or the normal operating cycle, if longer. Does not include the balance for the extended product warranty liability."
       }
      }
     },
     "auth_ref": [
      "r693",
      "r696"
     ]
    },
    "us-gaap_StandardProductWarrantyAccrualNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StandardProductWarrantyAccrualNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Standard Product Warranty Accrual, Noncurrent",
        "terseLabel": "Non-current accrued warranty",
        "documentation": "Amount as of the balance sheet date of the aggregate standard product warranty liability that is expected to be paid after one year or beyond the normal operating cycle, if longer. Does not include the balance for the extended product warranty liability."
       }
      }
     },
     "auth_ref": [
      "r693",
      "r696"
     ]
    },
    "us-gaap_StandardProductWarrantyAccrualPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StandardProductWarrantyAccrualPayments",
     "crdr": "debit",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Standard Product Warranty Accrual, Decrease for Payments",
        "negatedLabel": "Settlements made during the period",
        "documentation": "Amount of decrease in the standard product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard product warranty. Excludes extended product warranties."
       }
      }
     },
     "auth_ref": [
      "r694"
     ]
    },
    "us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StandardProductWarrantyAccrualPreexistingIncreaseDecrease",
     "crdr": "credit",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Standard Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties",
        "terseLabel": "Provisions and changes in estimates",
        "documentation": "Amount of increase (decrease) in the standard product warranty accrual from changes in estimates attributable to preexisting product warranties. Excludes extended product warranties."
       }
      }
     },
     "auth_ref": [
      "r695"
     ]
    },
    "us-gaap_StatementClassOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementClassOfStockAxis",
     "presentation": [
      "http://www.trex.com/role/LeasesAdditionalInformationDetail",
      "http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail",
      "http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail",
      "http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationGrantsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Axis]",
        "documentation": "Information by the different classes of stock of the entity."
       }
      }
     },
     "auth_ref": [
      "r100",
      "r115",
      "r116",
      "r117",
      "r139",
      "r168",
      "r172",
      "r174",
      "r176",
      "r180",
      "r181",
      "r200",
      "r239",
      "r241",
      "r242",
      "r243",
      "r246",
      "r247",
      "r275",
      "r276",
      "r278",
      "r281",
      "r287",
      "r385",
      "r456",
      "r457",
      "r458",
      "r459",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r485",
      "r506",
      "r523",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r656",
      "r676",
      "r683"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity",
      "http://www.trex.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "terseLabel": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r22",
      "r105",
      "r126",
      "r127",
      "r128",
      "r147",
      "r148",
      "r149",
      "r153",
      "r161",
      "r163",
      "r179",
      "r201",
      "r204",
      "r288",
      "r337",
      "r338",
      "r339",
      "r351",
      "r352",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r376",
      "r379",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r409",
      "r445",
      "r446",
      "r447",
      "r463",
      "r523"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity",
      "http://www.trex.com/role/LeasesAdditionalInformationDetail",
      "http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail",
      "http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail",
      "http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationGrantsDetail",
      "http://www.trex.com/role/StockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "terseLabel": "Statement [Line Items]",
        "documentation": "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."
       }
      }
     },
     "auth_ref": [
      "r147",
      "r148",
      "r149",
      "r179",
      "r413",
      "r455",
      "r474",
      "r477",
      "r478",
      "r479",
      "r480",
      "r481",
      "r482",
      "r485",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r504",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r523",
      "r572"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementTable",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity",
      "http://www.trex.com/role/LeasesAdditionalInformationDetail",
      "http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetail",
      "http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail",
      "http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationGrantsDetail",
      "http://www.trex.com/role/StockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]",
        "terseLabel": "Statement [Table]",
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed."
       }
      }
     },
     "auth_ref": [
      "r147",
      "r148",
      "r149",
      "r179",
      "r413",
      "r455",
      "r474",
      "r477",
      "r478",
      "r479",
      "r480",
      "r481",
      "r482",
      "r485",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r504",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r523",
      "r572"
     ]
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "StkPrcOrTsrEstimationMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Price or TSR Estimation Method [Text Block]",
        "terseLabel": "Stock Price or TSR Estimation Method"
       }
      }
     },
     "auth_ref": [
      "r589",
      "r600",
      "r610",
      "r635"
     ]
    },
    "trex_StockAppreciationRightsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "StockAppreciationRightsMember",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Appreciation Rights [Member]",
        "verboseLabel": "Stock appreciation rights [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockAppreciationRightsSARSMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockAppreciationRightsSARSMember",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail",
      "http://www.trex.com/role/StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail",
      "http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationExpensesDetail",
      "http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationGrantsDetail",
      "http://www.trex.com/role/StockholdersEquityAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareDetail",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "Stock appreciation rights [Member]",
        "presentationGuidance": "Stock Appreciation Rights [Member]",
        "verboseLabel": "Stock Appreciation Rights [Member]",
        "label": "Stock Appreciation Rights (SARs) [Member]",
        "terseLabel": "Stock Appreciation Rights (SARs)",
        "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Shares, Share-based Compensation, Net of Forfeitures",
        "terseLabel": "Employee stock plans, Shares",
        "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r50",
      "r51",
      "r76"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesShareBasedCompensationGross",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Shares, Share-based Compensation, Gross",
        "terseLabel": "Stock-based compensation, Shares",
        "documentation": "Number, before forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueShareBasedCompensation",
     "crdr": "credit",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Value, Share-based Compensation, Net of Forfeitures",
        "terseLabel": "Employee stock plans",
        "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r50",
      "r51",
      "r76"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueShareBasedCompensationGross",
     "crdr": "credit",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Value, Share-based Compensation, Gross",
        "terseLabel": "Stock-based compensation",
        "documentation": "Value, before forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Repurchase Program, Number of Shares Authorized to be Repurchased",
        "terseLabel": "Common stock repurchase program, authorized shares",
        "documentation": "The number of shares authorized to be repurchased by an entity's Board of Directors under a stock repurchase plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedDuringPeriodShares",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Repurchased During Period, Shares",
        "terseLabel": "Stock repurchased during period, shares",
        "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r50",
      "r51",
      "r76",
      "r459",
      "r523",
      "r536"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 20.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets",
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent",
        "totalLabel": "Total stockholders' equity",
        "periodEndLabel": "Ending Balance",
        "periodStartLabel": "Beginning Balance",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r54",
      "r55",
      "r70",
      "r487",
      "r503",
      "r524",
      "r525",
      "r566",
      "r579",
      "r678",
      "r686",
      "r731",
      "r745"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent [Abstract]",
        "terseLabel": "Stockholders' equity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityNoteAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityNoteAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Note [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Note Disclosure [Text Block]",
        "terseLabel": "Stockholders' Equity",
        "documentation": "The entire disclosure for equity."
       }
      }
     },
     "auth_ref": [
      "r75",
      "r138",
      "r274",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r288",
      "r377",
      "r526",
      "r527",
      "r538"
     ]
    },
    "trex_SupplementalBalanceSheetInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "SupplementalBalanceSheetInformationAbstract",
     "presentation": [
      "http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental balance sheet information [Abstract]",
        "verboseLabel": "Supplemental balance sheet information"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "verboseLabel": "Supplemental Disclosure:"
       }
      }
     },
     "auth_ref": []
    },
    "trex_SupplementalFinancialInformationOfOperatingLeasesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "SupplementalFinancialInformationOfOperatingLeasesTableTextBlock",
     "presentation": [
      "http://www.trex.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Financial Information Of Operating Leases [Table Text Block]",
        "verboseLabel": "Supplemental Cash Flow information and Supplemental balance sheet information related to operating leases to operating leases",
        "documentation": "Table includes supplemental cash flow information and supplemental balance sheet information related to operating leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplyCommitmentArrangementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplyCommitmentArrangementMember",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supply Commitment Arrangement [Domain]",
        "documentation": "This item is intended to be populated, by the entity, with Members identifying each supply commitment about which information required or determined to be disclosed is being provided. If only one such commitment exists, this item may be used to capture such information; if multiple commitments exist, this item is the dimensional default, which will aggregate such information, as appropriate."
       }
      }
     },
     "auth_ref": [
      "r49",
      "r86"
     ]
    },
    "us-gaap_SupplyCommitmentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplyCommitmentAxis",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supply Commitment [Axis]",
        "documentation": "Information by arrangements in which the entity has committed resources to supply goods or services to a customer."
       }
      }
     },
     "auth_ref": [
      "r49",
      "r86"
     ]
    },
    "trex_SurfaceFlakingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "SurfaceFlakingMember",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Surface Flaking [Member]",
        "terseLabel": "Surface Flaking [Member]",
        "documentation": "Surface flaking."
       }
      }
     },
     "auth_ref": []
    },
    "trex_SurfaceFlakingWarrantyReserveMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "SurfaceFlakingWarrantyReserveMember",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.trex.com/role/CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Surface Flaking Warranty Reserve [Member]",
        "terseLabel": "Surface Flaking Warranty Reserve [Member]",
        "documentation": "Surface Flaking Warranty Reserve [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "trex_SwinglineLetterOfCreditMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "SwinglineLetterOfCreditMember",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Swingline Letter Of Credit [Member]",
        "terseLabel": "Swingline Letter Of Credit [Member]",
        "documentation": "Swingline letter of credit member.\n."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TabularListTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tabular List [Table Text Block]",
        "terseLabel": "Tabular List, Table"
       }
      }
     },
     "auth_ref": [
      "r629"
     ]
    },
    "us-gaap_TaxPeriodAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxPeriodAxis",
     "presentation": [
      "http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax Period [Axis]",
        "documentation": "Information about the period subject to enacted tax laws."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TaxPeriodDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxPeriodDomain",
     "presentation": [
      "http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax Period [Domain]",
        "documentation": "Identified tax period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TextBlockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TextBlockAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Text Block [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "trex_TimeBasedRestrictedStockUnitsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "TimeBasedRestrictedStockUnitsMember",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationGrantsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Time Based Restricted Stock Units [Member]",
        "verboseLabel": "Time Based Restricted Stock Units [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "trex_TimeBasedRestrictedStockandRestrictedstockUnitsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "TimeBasedRestrictedStockandRestrictedstockUnitsMember",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationExpensesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Time Based Restricted Stock And Restricted Stock Units [Member]",
        "terseLabel": "Time-Based Restricted Stock and Restricted Stock Units [Member]",
        "documentation": "Time\u200b based\u200b restricted\u200b stock \u200band\u200b restricted \u200bstock\u200b units."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Amount",
        "terseLabel": "Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r621"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TotalShareholderRtnVsPeerGroupTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Vs Peer Group [Text Block]",
        "terseLabel": "Total Shareholder Return Vs Peer Group"
       }
      }
     },
     "auth_ref": [
      "r628"
     ]
    },
    "ecd_TradingArrAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TradingArrAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement [Axis]",
        "terseLabel": "Trading Arrangement:"
       }
      }
     },
     "auth_ref": [
      "r648"
     ]
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TradingArrByIndTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangements, by Individual [Table]",
        "terseLabel": "Trading Arrangements, by Individual"
       }
      }
     },
     "auth_ref": [
      "r650"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.trex.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "trex_TranscendDeckingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "TranscendDeckingMember",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Transcend Decking [Member]",
        "documentation": "Transcend decking."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Adoption Date",
        "terseLabel": "Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r651"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Duration",
        "terseLabel": "Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r652"
     ]
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r650"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Title",
        "terseLabel": "Title"
       }
      }
     },
     "auth_ref": [
      "r650"
     ]
    },
    "ecd_TrdArrSecuritiesAggAvailAmt": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrSecuritiesAggAvailAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Securities Aggregate Available Amount",
        "terseLabel": "Aggregate Available"
       }
      }
     },
     "auth_ref": [
      "r653"
     ]
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Termination Date",
        "terseLabel": "Termination Date"
       }
      }
     },
     "auth_ref": [
      "r651"
     ]
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonMember",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock, Common [Member]",
        "terseLabel": "Treasury Stock [Member]",
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r35"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonShares",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock, Common, Shares",
        "terseLabel": "Treasury stock, shares",
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r35"
     ]
    },
    "us-gaap_TreasuryStockSharesAcquired": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockSharesAcquired",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock, Shares, Acquired",
        "terseLabel": "Number of shares repurchased by the Company",
        "documentation": "Number of shares that have been repurchased during the period and are being held in treasury."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r51",
      "r76"
     ]
    },
    "us-gaap_TreasuryStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockValue",
     "crdr": "debit",
     "calculation": {
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0,
       "order": 25.0
      }
     },
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock, Value",
        "negatedLabel": "Treasury stock, at cost, 32,363,306 and 32,363,306 shares at March 31, 2024 and December 31, 2023",
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r35",
      "r38"
     ]
    },
    "trex_TwoThousandEighteenStockRepurchaseProgramMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "TwoThousandEighteenStockRepurchaseProgramMember",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Two Thousand Eighteen Stock Repurchase Program [Member]",
        "verboseLabel": "2018 Stock Repurchase Program [Member]",
        "documentation": "Two thousand eighteen stock repurchase program."
       }
      }
     },
     "auth_ref": []
    },
    "trex_TwoThousandFourteenStockIncentivePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "TwoThousandFourteenStockIncentivePlanMember",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Two Thousand Fourteen Stock Incentive Plan [Member]",
        "terseLabel": "2014 Stock Incentive Plan [Member]",
        "documentation": "Two Thousand Fourteen Stock Incentive Plan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "trex_TwoThousandTwentyThreeStockRepurchaseProgramMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "TwoThousandTwentyThreeStockRepurchaseProgramMember",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Two Thousand Twenty Three Stock Repurchase Program [Member]",
        "terseLabel": "2023 Stock Repurchase Program [Member]",
        "documentation": "2023 stock repurchase program member."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "UndrlygSecurityMktPriceChngPct",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Security Market Price Change, Percent",
        "terseLabel": "Underlying Security Market Price Change"
       }
      }
     },
     "auth_ref": [
      "r647"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesDomain",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.trex.com/role/CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]",
        "terseLabel": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]",
        "documentation": "Valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r142",
      "r143",
      "r144",
      "r145",
      "r146"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesTypeAxis",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.trex.com/role/CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]",
        "terseLabel": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]",
        "documentation": "Information by valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r142",
      "r143",
      "r144",
      "r145",
      "r146"
     ]
    },
    "us-gaap_VariableRateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableRateAxis",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Rate [Axis]",
        "terseLabel": "Variable Rate [Axis]",
        "documentation": "Information by type of variable rate."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VariableRateDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableRateDomain",
     "presentation": [
      "http://www.trex.com/role/DebtAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Rate [Domain]",
        "terseLabel": "Variable Rate [Domain]",
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VestingAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VestingAxis",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting [Axis]",
        "terseLabel": "Vesting [Axis]",
        "documentation": "Information by vesting schedule of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716",
      "r717",
      "r718",
      "r719",
      "r720",
      "r721",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726"
     ]
    },
    "us-gaap_VestingDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VestingDomain",
     "presentation": [
      "http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting [Domain]",
        "terseLabel": "Vesting [Domain]",
        "documentation": "Vesting schedule of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716",
      "r717",
      "r718",
      "r719",
      "r720",
      "r721",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726"
     ]
    },
    "trex_WarrantyPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.trex.com/20240331",
     "localname": "WarrantyPeriod",
     "presentation": [
      "http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Warranty Period",
        "terseLabel": "Warranty period",
        "documentation": "The number of years the Company warrants that its products will be free from material defects in workmanship and materials."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Incremental Weighted Average Shares Attributable to Dilutive Effect [Abstract]",
        "terseLabel": "Effect of dilutive securities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome",
      "http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "terseLabel": "Diluted weighted average common shares outstanding",
        "verboseLabel": "Diluted weighted average shares outstanding",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r167",
      "r176"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://www.trex.com/role/CondensedConsolidatedStatementsOfComprehensiveIncome",
      "http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Basic weighted average common shares outstanding",
        "verboseLabel": "Basic weighted average shares outstanding",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r166",
      "r176"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasicAbstract",
     "presentation": [
      "http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Basic [Abstract]",
        "terseLabel": "Denominator:"
       }
      }
     },
     "auth_ref": []
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "940",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.21)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.24)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.25)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481549/505-30-45-1"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-2"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-3"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-4"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "217",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482663/740-10-55-217"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "14",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.10)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.17)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//205/tableOfContent"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//350/tableOfContent"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//440/tableOfContent"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//470/tableOfContent"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//505/tableOfContent"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//810/tableOfContent"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04.10)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r91": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2"
  },
  "r92": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r93": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r94": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "SubTopic": "20",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2"
  },
  "r95": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "SubTopic": "20",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2"
  },
  "r96": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r97": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//250/tableOfContent"
  },
  "r98": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//275/tableOfContent"
  },
  "r99": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//606/tableOfContent"
  },
  "r100": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(a)",
   "Publisher": "SEC"
  },
  "r101": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1404",
   "Paragraph": "(a)",
   "Publisher": "SEC"
  },
  "r102": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1404",
   "Paragraph": "(b)",
   "Publisher": "SEC"
  },
  "r103": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1405",
   "Paragraph": "(a)",
   "Subparagraph": "(4)",
   "Publisher": "SEC"
  },
  "r104": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1405",
   "Paragraph": "(c)",
   "Publisher": "SEC"
  },
  "r105": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r106": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r107": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7"
  },
  "r108": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r109": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5"
  },
  "r110": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r111": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r112": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r113": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r114": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r115": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(27)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r116": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r117": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r118": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r119": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r120": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r121": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r122": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r123": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r124": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r125": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r126": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r127": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r128": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r129": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r130": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r131": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17"
  },
  "r132": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-2"
  },
  "r133": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r134": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r135": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2"
  },
  "r136": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8"
  },
  "r137": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r138": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r139": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r140": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r141": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3"
  },
  "r142": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r143": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C(1)))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r144": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C(2)))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r145": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r146": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r147": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r148": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r149": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r150": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r151": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r152": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r153": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r154": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r155": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r156": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r157": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3"
  },
  "r159": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r161": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-6"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-3"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-1"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-3"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-11"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//330/tableOfContent"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483032/340-10-45-1"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-16"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.F)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//740/tableOfContent"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-6"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//842-20/tableOfContent"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-2"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "928",
   "SubTopic": "340",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-1"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-2"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-2"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "27",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-27"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483580/946-220-50-3"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-1"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-6"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "440",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479294/326-20-55-10"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "53",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii",
   "Section": "6"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r636": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r638": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "A"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "C"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "D"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "E"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "F"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r652": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "D"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-3"
  },
  "r657": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4H",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H"
  },
  "r658": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(a)",
   "Publisher": "SEC"
  },
  "r659": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(1)",
   "Publisher": "SEC"
  },
  "r660": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(2)",
   "Publisher": "SEC"
  },
  "r661": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(3)",
   "Publisher": "SEC"
  },
  "r662": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(i)",
   "Publisher": "SEC"
  },
  "r663": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(ii)",
   "Publisher": "SEC"
  },
  "r664": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(iii)",
   "Publisher": "SEC"
  },
  "r665": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1405",
   "Paragraph": "(a)",
   "Subparagraph": "(1)",
   "Publisher": "SEC"
  },
  "r666": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1405",
   "Paragraph": "(a)",
   "Subparagraph": "(2)",
   "Publisher": "SEC"
  },
  "r667": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1405",
   "Paragraph": "(a)",
   "Subparagraph": "(3)",
   "Publisher": "SEC"
  },
  "r668": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r669": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r670": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r671": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r672": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r673": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r674": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r675": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r676": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r677": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r678": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r679": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r680": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r681": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r682": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r683": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "55",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-55"
  },
  "r684": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r685": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18"
  },
  "r686": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r687": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r688": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r689": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10"
  },
  "r690": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//450/tableOfContent"
  },
  "r691": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r692": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r693": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r694": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r695": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r696": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r697": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r698": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r699": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r700": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r701": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r702": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r703": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r704": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r705": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r706": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r707": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r708": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r709": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r710": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r711": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r712": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r713": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r714": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r715": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r716": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r717": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r718": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r719": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r720": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r721": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r722": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r723": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r724": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r725": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r726": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r727": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r728": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r729": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480682/815-20-25-6A"
  },
  "r730": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r731": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r732": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r733": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479773/842-30-50-3"
  },
  "r734": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r735": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r736": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r737": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r738": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r739": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r740": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r741": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r742": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r743": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B"
  },
  "r744": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r745": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r746": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>72
<FILENAME>0001193125-24-135380-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001193125-24-135380-xbrl.zip
M4$L#!!0    ( &>)J5BA_P[U?.H  $HU"P /    9#<X.#$Q.60Q,'$N:'1M
M['UI=Z-(LNCW_A5YU-/W5IV#70*TNJKUCLJ6^_I=E^VQ7=/3[TL=#&F+;@1J
M%B_SZU]$)B"0T&J0$,H^,RX;(<B,/2)C^?)_7D<6>::N9SKVK_\M']?_FU!;
M=PS3?OKUO_MWIQ<7__U_>C]]&?IP&]QJ>R>^2U]_K0U]?WSRZ=/+R\LQ7CC6
MG=$GI:XTZJHJU\([+=/^*W7GZX-K'3ON$]Q95S_AQP^:1Z/;\5/#C+^0O+GU
MB7\8WSKSZ!>5W2MWN]U/[-/X5L_,NA$>*G_Z][?+.WU(1]J1:7N^9NNIM9@+
MUCY]OT&G%NY1_?C)>?X$'R!<U.A&TW,:BMQ>]&A^Q^3)8Y?JFD^-N=_I?M)<
MW74L^FER<_1UW0ELWWW+7ESX86J!>N"Z0 'SOA%^FOH*?=6'V;?C)ZE;;<W4
MO>Q[V4>IFSU3S[X5/DC?Z(_=.7?")ZE; ^_H2=/&\=V/FO? X!A^D+KYU5J
MIW]?)J@L\-T%Z(%/8UCIQAQ0Z49Z3ZX_NTBXF*:FUWEOE9%&@0_HO[_>7DYN
M][/OG]SZR7<UVWMTW)'F@TC MRE'=>5(;B598Q%<IMD:7GH$FTQ](]KTHO?*
MS:-ZYRB6)O.Y'653#644U0SXQS=]B_;D^M$_OWSBO__T941]C>B.[5,;(.#3
M5_\3?NLST8>:ZU'_U^_WYT>=&L%7'-&_ _/YU]HIO_WH_FU,:Y_@(9_"%SPX
MQAOQ_#>+_EK#Y1\-J?DT]$]L7+SU^4'3_WIR@;.,(]VQ'/?D96CZ]#-;8;/W
M12-#ES[^6OO9=_1:[UY[L"AQ'DGX-N_+)ZT';VK"W8;Y'+W&,+VQI;V=$-NQ
M::WWQ7P]P<50E_]J&@:UV:_P^54PHJZI$UL;X3>I>=(?4=N __OGEO94XW!X
M]6]Q%3=U^0?\#R7WO5-7?ZC\]QHQ@4S-U^>C=D-6:KU'S?+HET^I%\Q_WYFC
M!^QUIJ=KU@U\ZACG<,U;_]UJK?=/>>47#VQ ^-LIO-K5K O;H*__2]_6?VFC
MUJN#>JBWNIUV9^67GS+1&&[Z#ZJY ]LX U&\_ON;M=[1D:P [<^\_%,:W4!)
M%.4Q]7I?D.]./*;.X$V$*<$3'XCWUYIGCL86,B2[QND/M?91I+&/7ST#:)P]
M/OE,]J?G!"[[BRG%DW W;,&3W:B)W0#22'@S91B)_S0-O/!H4I>PE=),J7!Z
M\;]I#$Q_&9[W*?/Y8T9K\9^@HUT?<=##51W59?A?],W)9Y.U&HE[50;^]"?Q
M:^/W?$K!9#&(T@@O(X@::X"HD2.(^MZU+2MEHQYNX_F<'D)V3'^R\6;+1P>)
MS4YA]OV;;?Q0FB7>;.-(:>:V6;G^0VGA9N42;E8^ K-(:>6WV8AGE1)N5BF*
M9\LIH/+CV6R=_N,.#-:_^F-T,$UFH]^BU>O=]6_OOM'1 W4##QVH/BS9,*W
M-Y_I'05_T?1-Z@U>=2LPJ''N.J-39S0.?/:(Z\>!YMJF_>2!E7@'MCC]^I;]
M@/ZKZ6T![J'BHT]HOX9_&_"^U[%EZJ;/-TH,$SYF$9-:Z#:>%+KMZ"5+4?#E
M4^:")WB?[&P/#:@T/=Y2SP>;V*<& XN@P>W08";8#XGN %PL3 $>TE?-H\84
M0/JVX::O!+;I>RGR?-%< \,*I2>H]$+193QYS_8/B4Q659=[2@M")67@_![
MEL44FIVXXN&5[Y62"1OM^Y (8S :6\X;I0PJ-X&K#P%:-Y9F5X8$ENSPD)!]
M2WW-M*D1V5=)'-^!\45QHX._ PQ5@SWFV!CW+SO.ERQ\8AUF[?V0L#]'(5:&
MT1?N[Y 0O<C_W%,$"Q\OQ&W?,$RD;<VZT4SCPC[5QJ:O68<DR1>"X)!H 0 T
M<NP9'J\Z_F>V?4@XOW$=(]#]WS77U6S_+8EW3-0 RP;V!K]Y@!*7:<&O;Y$8
M_7$7N(^:3L\M[2^X,7H&R%3J/M/DH_ZE60'[<M^RG!>,J'A]YC'AC=X^Z(^E
MP(B"1EGPG$]0*[]_50ARRV4Y7@Z)QM/@$"3^3A+/ J>@\!)1>*6I5)#).F22
MRL02!]N[/U3<[2G"KM+>YM"C.-@^D(/MDM&=.-@NY\%VR<A$'&P?'L[%P799
M#K9+1ACB8/N D"T.MK=ZL%TR[(N#[0-!M#C8KBYNS\U'?QC7 _,0(0I H__D
M4B8&^>;O;P?_CB^QD/\M?7:L9Q!]IRXU3/]<TTW+G#H:2WU25A)AS)[:6R@
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
MQOH.%H3+*^#[?HM\;:8^!_4+3BDB7F*Z&/[00EFGV49TZ9$E=1#,#@%V>,3
MK_U$05:AIB>6YOG$9>?D(A2\E5S:[9/\':@ZU_1->#P_%* NX'\<N%Z IP.^
M0^ .].#X1F7EP\-'U)9X4-S7 0Q52'AY7Q1<;>80!5>5/!XB%Q-*G['C5F"M
M.<M/:-10H;[782YI_./>]"UVUD8U?4ATD*7>.E8D"0%&0OJ?B QV>ACQRQPC
M<V/\5!49KL;LO+NW$=SP83V#7J B3U1<A4?0C"WH*[<XB&,3$ UP9:*$MN"?
M[N\18:BVWV3E@0F:]>WX+D]E L![6.6<7^!E3_S>N: -9047%6O#5<5<DMO!
MOP4\ITEU$/+Z&BDZTT%$%!>S\4-5!JD"[/V'X_Y%6,D^B=ZU6LQK28@CPU>=
MLMMGS/8IF5/K7=@&GH10\O &3A:%)<(#_P*91]GA(5K3B9R<#W+HQP\U#WPT
M"RQRS;)"5PP-];\#$\UTL,X?:'@#/#AMJ:MX3,?364-[/6'K1P!"&QX_9NFL
M!GP*2A)O';M4ITQER@IAI00>^0#/ XP0+P Y[0T=3!&*,D3]H>9/[^)%2R\5
MU\F_'&[DH\1\T0]*8K</@%RXZ>%/V M^B=T/W\2EA _#/&Z/K82M%)W4;IT8
MVIMW'":8+HFKG@:N"\_@&>#(ZK[F;U#1H"JUWA]8*)^F,;:&QN>P="E<T963
MO-SXO#@-;_L4AZ 'J(],D! &H19 WW5LE"_6&Z$@:][(!4H436=QT3/-UWCZ
MZQ0M3IZ1="%O [BS46\BI=W2I\#B9X)YA]KNCN[#$%3!E,QW&=,F]3ZN2'D)
M&"((0T)<G_+4ZE">Z1&-6/!&2C0=''QL60%01K"Z*!\RK^9..@#%H\2+0C**
M7^>!I0N_AH(+B4GGJ:(H8V&-(),09$_DR75>_&'TZ3&(7,HV;-!'TV8Y]>RL
M 8/22OWSO&VSC^7/T6U+;YB[O/A&E+/AS7/6&MUIVIQ=\X8P6*I'2@C74!\E
ME=#Q209A[E,,J?NN&)*<1PRI-7-]@X?(W1P>HNPFI3,RG%>HG7!/@9V>'/=M
M4U.4/8EQHQX^:<HJ;=1ZE]G\/6N5YG^PG:B=SM_9B+[3G^R,?S'<7F';:7S>
M-&^HM4K>4-XW[8X#KM+ZC&P),071V1W7;_Q+L9+C?X;JJYB]+1$D;%U? P\T
MG+>J_[!R*:G:G%]**IA@!>RMH,76I(<UGK@>G0U"FXQ_BQMFNR?O:%6_L?6$
MQ5&YDWEK!3+?1H3F<8$AC[DBF4Z-^9CE23/_&:2N[3#W-_"X$P! XQT@,BIL
MP8_ =UEO^/(7$UZ-WH4-ZW/0KG\V/2;%;<W63<U"FP*+0?!F[!9I:*[A$4RO
M,XV%Q[?J!^UCEOF]!SZB-P3+/?:[/@"8F5/%0U^[<%D^GH0N-KCB:?A-N][+
MU CN;&/V.GDT7ZD!D+8\FF*L]MS^.<7C]WX8I5DAY'A'R0B&[FQNEIXXB9#(
M6'/)LV8%E/RC?ER7D4?X(R3B!#ZC=Y:TA<DZKFEQTE::$D'8L&!-"/!S%FN!
M!\]$ "?M75DG3N]Z\MPI#+!^N(T?2C.$/':?9)\D>Z,"*>HF& />K[6+JW/0
M@R!K*7,ODX@"@!P9CG\4WIQ"5@?;A'6D5E>1VLUVA+!H [T0A,<+G>36NQ)P
MUNS\6.XNDPM__D1^^NG+.(/R93J:H7S*#GYCB^6! D;!8K%>M#?6$_?3&#3M
M,#9N> O1G[OLO\]Q/<)KLHT*FA'#9N^+1H8N4M+/0(? ,BQ< 3R"4R4PQ/WE
MDP8+AAO9>E=/E7I_\]&?2"9X,DZ9IP3#;,^=:3-NYB I8S-X?H:-*6_Z5W](
MY.+J])B!.7M1O-MD\:MBS,H0=7%U!NN;6E'B;<I:; A/28:JDJ&IZ=!57J$J
M!H]58E4_$1ZN(K,1'AXE(DN-S&2<*.,QG?:FSYG^A]F))/^TI^5+2UG=9;E]
MYDM)-XU] 6152-GOS%0!Z8-/GG=47.O=:'@2B_?T-MDT=R!_(@M\73+'V9WL
M6IVFO\R[&K5""$FN+Z,D$!2IQ2X#:4)WO/(>'S]D '3_]IY<D/.+J_[5Z47_
M$F0GMDKMW_/VOJA.-L'"/ +,2.;;C$"B%\Q9W,KOB0B;*;.E;U7>_\+U-S9+
M72N2\BKDJY2?R),ZDZ2U),E4XTF+!4Q%9H\Q[0P>.<BODR,YO+B&O@<=[M-1
MZ!(?HP[.6QB_>ZMR;EO-$!4*YG[A,S&H@*/+4,BS./%Y'&&(!V6$=NC:,"I4
MRTUQNO(>'IY6-0?,G9\.AP?4N3PPH7SNC8W&+AWB')EGBHVAG!&-DX_NX:F4
M?.-9)0,6VV,M53F$L*\J"TG@Z?OL=95\"&PM,(!.C8\Y,]E&U)^+TA6L*%AQ
M359LS&7%KYJ%0P[)W9!28$>-<>0\#CNC.IO)M#4F*T*3J8)]!/NLQS[-5349
M.[GP,,.+1;Z'X*)0UPN#\(0/1!.J;3YO-@1O"MY<CS=;J_*FY@W)N>6\>((!
MYS-@4S"@8,#U&+#-NCK ;;Y#UHAY[)G5V!*,4<WHI'* T<D.SJ6Q >'(B7&*
MR)GIZ0'ONX\JKV]KUIMG,N4Y86#D<)Y7A??<4B^PN'Z]'E/>NW(?HIFRT',5
M96?U -FY6^O]$Y,135"N&$)%SH0+5O0W,K;EX(A?C_0?G,!'<_8OZI-;T_MK
M#[A5$2&;BG)KXP"Y5:XSC]5W@208J]ZXCDZ-@$T$KX@;J>P\D+._>2EE(-R9
M=+UL2HX38B[(]?W_#&XSLF&*5BSORWO))<FE*;)<A"H[R"P76:GU+ND3N(5,
MA[$F$/O@_BG"_:LH%QYB-$<&H^&[G>@M>J=9O!8H/'!,="5">_.[QXH@0I85
M_"KX=7?\VCQ$?FW4>M>L"//"YL5KIF,++A1<N#,N;!TB%S9KO<'KT'PP]R/_
M.M<#R)^^A.7^9$$AX@QV2!+JG:D2N\+J&3/*%V5>&_C33WM=<YJL*(TJXXGM
MV)2WC1A2S: N_]4T@/A[V377@7?TI&GC$SYNXOJ1-UW$U][1)W;4SBLK^4-D
M6>VTE+;:7K$,/EV,'3XQ68U=!W3,%%-GEN-'"PU/"NVG2ZIY]-+4'DQKTC,R
MSA"X?HQ/'6\<WLMA@.T=/!.V=@FV[NRVNMU.5FWY9#N]H>^/3SY]>GEY.?9=
M^GJL.Z-/^$E=5>6?^[KN!M2(5@3V<M\VF*9.7 J7.7@-)YO\KKE8:#\[2FM7
M(.AF@$!60A"H6P7!IS3M EN ?V+KU.M]L4S[KQ-/']*1!LLDK^QO_VT,0/+,
MT1C[+?-KG)EPI4?1*H]?/8/I[ZEG?DIP35P0WR.3GQ&W)8OCPR;;#YK^UY/K
M!+9QQ)F="=>X8P6)6U:0)77B)-]"<?XX5AD]*4/,$'(KC4F9%;:%3[\("R:3
M@IJLTV.]!%N85^PY9T<;UZFS)_VTY::*\J3+Q$D]J<Y6LHPC6S=%GY,N55$A
M^[19,M5*F['#%AMI<\.WH]1E%K6=:EB]Q*3-6/C.")J]/Y>9 >LD[J4IGX&,
MNU*Q43D/'EF=),K X9GM,*;9.T7C:J8,+NO^-B_#6T5N%V3D?_@>YX>2W2S@
MPB;^T D\S38\"2=I4&S7@&V"6!PU;II$ )Q:YB+W4!>LT+6$:88I5Y1]J]V9
M:4*RJ-5(<VZKD3P>44!X9VF[DA4'V2S5,^L/Q.%/B^-;K7?W'-GMK(O9THR4
MGGYP/TU9]$4N)EW\L9;!L!9!'#3%*GM.L>B<%D<:N3ZG2C!7]XH=N;<U'6KX
M6=<I?7Q<Z>!@74\C%660IZ/IY$A.Q]+7MDZSG8\K"M2#I] I+V&+"8W_V/S+
M29)FH9C)Z*4YD==;^DSM@)Z[SH@E=L)-OYO^\#3PX''4C>-D?<^C\#_C7GO=
M*/KZ_>XL&7D]4N,VF.K*;3 ;K5I/;:M22VW.1FT+R" M*N%T;S&L)C"L%H+A
M-F;,=Z2VW"D,P[L\.MT/"7CJ>&SLUTZEX'N?L#ZCX+:O'W]S' ,/#NZH^VSJ
MU+O#)-:=2;P.&@H-B=D*^RSQ]@&;Q4NW;JTG-QJ2TJUO4;HE\U->5^I8NDX!
M^)J4M+X(#*U['J.,^SJ[3P\?ZA+!_WV<)\92\:A]6F'!+6!+L,/RKU!X4_G8
M$K^YCL=F3SR:_N&8$FS7-VS3.[,=FIC=TNI*+5D1MD/NZ"O<6&C*M5ZW(344
MX0GM3GK=40MG"TODB=K4Q<DZMD$T8V3:;$8)JU"GKV,\GSP@1RF$RF\<)F!=
M]U,0&7" [$[P*;5>LRZUZL59V165>^]#;/$B4<7XG]3H"/=)F.["?2KS"H7[
ME(\!$G44=YT1<1)=J@[%U(B3S3D@+IV5)ZD6H'X:X%#)7:DN'*H"T5B\%=$$
M\[ E=1O"L=JE7,-R;\\G'TQ&$1\C-THB-JU4H.C#8LZ( ,$9([2PK^@.PT8M
MUDDW1\[X>  ";ETT;B[E/%99>;0Z/MN@M:1NI[B4">$S5<Q>%S[3[G$@?*;W
M^DR\+IIP^X+XVNLAA6@G=G:4]V7: =C?DT['7QEX^'WW")S!J^]J0-.FK;EO
M6&;F73FVSIL]6LQTYRIN=Y9))_*_9B=@"_^K;.10O!_7!4.U(75;Q:5&"3]N
MF:R]<9UGD[5=Q\$DARQK@6E"L_\KM>DN#_Y;]5I/Z4K=AA"3Q6*R<!'7DD'C
MJ5)'+2[@*)RWBCD.PGG;/0Z$\[:Q0;%>$1W6:G&C(Z.QPQ:-CJU5#?YC<<G@
MNU3CMO:PI!48]4MPUM=2:KT.N)KMK%23/#"P17@G)=:*M:;Y&7&",[;+&<7;
MI&JMUY E6<WHG%<5SJBT4:R"N6,X 39G*:M%EL\22VT6'R861$!MF?W[5?-,
MG5#-M7$>!>O3!")_!,J M6LZB)X$@W#W-]2]PTTSF&QJ"OX $/Y@CTFJ/B76
M?/75-5^CUJL?=_8\^:N\F%QFNN2(R29B4MUF I@P(/9<=0D#H@Q8$)&U=UH6
MW!^B!M%@+P"ZE'7A$2?P/5^SL1_,X1S@_1["I,]!$C6C9ZK&NYY 9',[A$,W
MW7I^ [75JO7D>D=J->J2W"I.>U7T="\7-"\T4G)"<YNCN=V6I6Y3&"E"/0HC
MI>Q+%%&. D_YSDPK0)-E251$'/[M_1''=+P@Q'P)8C^=N;&?BIQYB-/ 2K/*
M%H-KW;G!M8JPBC"<*V>R"<.Y#%@0T;V-+>K(1A;QO94#/R'(9N(_.XSPM>MA
MZ*=;EUK*GG<YWUM$;R'&UY8YHKMR2U):6:E4(L8GE*0P5<JT1!'C6W.*0'(F
M7S)+O^+I2ZF-\XS=*^I?/^YR=$I[43[['MD494=DX>G7[47IU\)F$.5H>V Q
M'"(.OJPT93AK".]$&6\^#O:.4G+E^'";[Y!UYB4G!ME&<X473;*=63E)+KTS
M,R5VNT-QE7@'Z7_FX *MHJE%4#9^+[;S>(N9$\UZT=Z\6GP .8P%9QAMZK+_
M/H>$ ]9H<ECYU#30A!UVW%'AA9,E$2#,XU9[<HTO:W(Y&=(F+*8-B]+(T$45
M]+/OZ+7>/9O*RT8F U  Q5\^:;ULL$R@TXM_Q''W!".$?# 39&/:)XZJD\P@
M? :6DA]S,'6.FV8*H6QV>,JJQ>&^T167[Y_/^]W5>/-BIGG/#O-N5&&8]U?-
M M%#R=V0TJDA[>49FYT<E)W;G.R?2CHF&ZV_7LJ4Y)RHH+Q:JG[#-\0WS_Y\
MQ]>9)LW5\69Z:<&JUIF\^O['3#^L,A-OO\T?1;W=F=B9XXY+@_\*8OZ,ZA1#
M\25!_NS<Y9RPEK]HDI>(I@S_;1._>QZYY?BV3>_>PJJVKU$*05MK,8!V*P(2
MCN0ZW+<5;"W)$5@6D-^3>/QZ^.K?W0WN[S9'U5J4O8)-F-L]Z_%<?BLKAFP/
ME#I/ ]>%U1#-\ZCO"2HM.97N3+@VMW;8J7E#-AQ0QU_HWX'YK%D\O)8;5:Y[
M2K:E0S+8<-\V\)_!9-M]_U1SW3>P(_ZE6<'TR+B^=VT7?-[9J/54J=Z<TQOX
MW8=DFW-PM; H*X4>=C;9[(IFMR L[J=.WII0Z^LZB&S?(R[X[T 3#U9R/,^6
M9=H['[ ^2T2[OXTW?T7]T/#8OCQKX>A+56K,2^#8"XE6=AP6+,W:8>I&:Z_$
M6?6-MPO[&1[ON";=C;FV=;:(-OPV.Z%J"Z(,QW@HJM29-Y)*B+(-<%:PZ.IB
MNGI;JG>$*;83$77CTK$&NX^&S3-?T_&'U)V*@51;<(5@",<S@,-RC2#H,PCL
MRC3K8,V.,K]3BQ!G^6&R6"G7D6L]19F?))V_D)M*K,TU=K@>!>TH77)?EE?H
MD>>N-U?RY578Q5&W93_<.[YF$3WSV*3:)L..C0.EUFO*JJ2VBG+Z*VD=[-@.
M4,&B:RN2TFP(;V='4P7'L/HWB8PM#>45.#MXIC;&HH0#"D%'<+A!*("-/(A@
ML(NX3:=1Z[5QKF!WGP_5RH[#@B5;$W!8[TJ-^IPN]B65;-7/S@HG\=I/Q**:
M1P_*1(OW?HE;O\7O7#]^]RBS K8OYUJUGM*4ZK(X:2L0AP7+N3;@L"4I:E&J
M2AAP"Z79;XYCO)B6E0A3F[:OV4\F%CMQV79 =MQ%O'?NV/!);E: ]001J+8O
MY_ <KB/51=QZ"Z@L6-QU&2KEUGZ)NP.PZ@[NA"YQC'/EV/J.PF[=>JW7DIKS
MFJ0(T?8>U!4KR[HRHJZS/<M-G,'MR?+$&5PY8+\#WV=C,.Q#,1,_FRNHE*F$
M;=5G>_/GIM^VM8553J^V;_0H6"T!_\S)1<H!Z+MOOK\-RTMP0N&<4+ -J=9Z
M7569DV)<"3ZHJAG[CE:]>[.^\AJRAP9]$=?:AH%[>='_>G%Y<7\QN"/]JS-R
M=W]]^K__<WUY-KB]^Z^?.XK<_DP&__Q^<?^'J.3/[1YQ0E5 OPG+U!Y,R_03
ME6*"5$M*JM6O6XSKL\?:&]:V5K[71+3A&[[?727U=ANU7J,KJ<U]SA I)=X*
M=@N;M9ZB2MT].R:MDKQR YI9Q)BA6*MY3NJ[]/4D!,3E9--1 5SB4L@E@]<P
MN^!WS74UVW_;OKAKU7I=6>HV]EG<[3>""Y:+[5JOV9+:ZGZ5.QR$@<<$YDM(
M&=46C9&U<(?C^337N'$=(]#]B"T8,#1K9T9?!XP^J5L7*25;0&7!\JZ+J.RT
MBNH_(LS A5+M$J[B!!+=I89Y(!G N&?O^O&4;7E'(DRMU[&_@2K5Z\*2RQ]W
MA<HLM2Z#C28U"\-<5<\3#RLUJURGB8<%^XHY.3MJ37$P@:")=ID."&S?+E!J
M/;75E>2N<&[RQES!5H'*0G/UUGZ5<U?F%/F,/E+ O!&.MR:^]GHH<BO:.I^+
M?*^])MAA!^TIU'JCUFNU)441C78*Q6+! @T;5"A20]VO/J/5S_B:[D]Q<'9:
MNL%!Q"9ONRMR5.LM;%,EM0KKY5))B;<)'@N6>6U6O=TI['Q5&'$KIP(FX4M"
M ),U\_N!E(Y"6@IG:&OB'&_F\&>7@I-WOBBN.TPE!><[T%FP_.PR/:C*^Y76
M=0 V(T_M<NRG(Y"?HP.T&:<R?G8H\V3L4M^2FBUQ]%<4 HN5<K)<, +%"6 5
M3J'$"6#53@ K8PYLTA6CR(*K_2GVSDW9E:,K0$*A;M\.4FJ]1J<C=>2LJ%DE
M6@-LPQ(KTQXKSQ$%&Y9JK:> 9:G(6>G_E> (8=I6P;P2IFW53-OJA\!.G='(
M]''< Z]V1-D.8H_:^L$$P1(@P GS20"L;_V]>N:);5I89H?SZ!-:K $RFC43
M40!&';G;* !(E8EKK8>3)?;'?)PT"\+)0GT^Y3"'+"DK\$&HQ4'4P OM7VM
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
MVX#X7*I3\QFSU*NBAY>$M4%<8VL7>D;YOQ=V!(O;&!0["_K(:JVGJHJDJF+
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
ML'T%=4&A4DJN'!]N\QURZJ#$PF$7\!O+-=!\^",L@0%1<^?#!=XG\,-W6PL
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
M%[[RT<1S#XY_/&,!TCR#IZ*IG'YKRJJ/O<#L_>#Z--:S(103D?$-MZ'GX;C
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
M:;03=AM 2 _[J?+"-@9"O(F,-==GY8^3+J Q\'$LWXCU%04,Q/LO>*L3T%M
M;!:OW.#XP]^0=@P3VYGP-AG8PQ!;T/.BCV-R9[+"F@4/<6FRKTK8/!%0^N:P
MQ\] @;5M<:P)2*,"DZDG195\^0],G()0RNI^8P&Z28-16-,+9<TLI^]+T IK
M%A*5:D7-&.U)@\B8X<("Q=6Z:.ZFF(;U?KC!KLFFT;>-:Y0 81U!'PMT\V]X
MKJBJ**[)/]FT)8IKX.Z;V\%-_^*,#/Y],[BZ&X2S3N[_9W!+^G=W@_N-2FZ2
M/#+@?0,B5N$\4D#AC=)0MEMX$^YOTAB!C2-A!@&KU/=$]<IJU2N-+5:OS/FZ
MJ%[9T^H%4;URV/B?K5YA:!>%).4+X4_KR\H'[],&4&CR;#]\W\;PO:06-N;X
ML)%7</R^ \B3I8XJ"DEV(K,NXI8O86\7M*NKDIRT++$%M\YZ"-W&6R]&>CV:
MK]0X^@]UG13M=W'7'456/L\0/UR7NXT"X'F@2"Q6BK7KM1[6,LI[)<2J;Y&Q
M@,QA2+/9V-/6#;&V7.NU*F"%E1-W!4LPI4C<536'XK!2^P0&=HT!X<RLD$,Y
M7G9L<6!QF<R#J>T;!RJ+TG2;1=4F"51NS59HU'J*(M7;6XO95,1<.+1T/X&#
MW>-@<<KE3KKT8LLBG"4'TNS"]C7[R82UY9M:%$_7ZH,XPT?=48LR$?5#EM5.
M2^F LSI)K5 ;39& E/_995LD(,'=OUU?G_U^<7F92#RZN+KO7_UV\?5R$.8@
M2>1J<%^BF3.8'JUKKLM&\DVFE3R%G(L->+.G?MOSQP>_:![YQV)K)Y(,"TV:
M'[<4^8"-0+QQ7/\1_"LG' CSC;TY\/!IX80<^VD2&)Z^O?]J>LLLI&9L(;56
MMY":R^RZ!3N=2+5]V"G6WS2.E0Q+<.9$ \D!R,V*,FMG<M/-6!N$GII$Q@%0
M&4M/-VV@([DC)9/.#*!6DX/6.R;]#8ARYI4\V7<)G4ZK+=;O8? :#HM?B8H+
M049[^7')A@M?W3G<:.$=S%95UR0B/C)#UX-1P!.O05"!1N&#D%81-]A#T:>7
M.-!B&C#]R6/[B:=N'S)=\+6.9^L29P&QC;T62[Z=.NYUMN],:J]8%#,9"(1#
MI](,'&JKD(\-ZN-H#1MK2E+S4L-"#(/@3!5G9.I>E,0:/@5)RZ412>$WG\,*
MG<EW X\^!A88"<]8T8$U))[O:F@*'*'N#Z=3L2\N-(CGX^8[>\.E^;CX8/H'
M&TQK4_^,"<0KE(=3"F(>\K^^?=/^=-Q3"_;-E40"6T<>U4^,P,5ZB12F6)>@
M:>^!3UF)ZJ2T\=AU7L-R%S8Z3$-3DXTKYG<P8(;@)P_4IH]F6 0R4QK$I\XL
M&8!4^HFG2 24"5O::S/H17_-*_1(&H3P4>C6A'-CC 6NS7P'J#\>4]N8W/M#
M3B\L[Q&LR6VR/Y*;6&%7&>M=9W?*U.[6G@B;^_J5M=:OSL?.#@?4+@'*S%Q?
MEJ;<^S+-<DGW*O2N9G(26 0Q]JI(IBNZE2&Y:Z)9G>N[YB!=T@6LE%>LQ6,>
M=50YV@..KG_C<[VFC5P^.0^=;YPFQ4KY6'#!]0@6I_JLGDTW73 ,<,*4SAX-
M3A\6"[Z 7ZCQ,E8356JJJ#&M$MW)M\ 3-7%@&IL*"<LVW6AHY*S^GAAQX1E.
M7&&[6MT<-_EG/UC-"4W:0#A*)ZTO5PQ'%6 = 4'5CV<SC-:V!#?;GYK87S'6
M7V.%_4U;?POKBE8+6R:E:V0:I*1;+/!F!/]<@RZ<M.O=:&\H1.%/%X3]I<EY
MTJ1>=)"3N#0)?4:U8_F4C:EM$=LL(+;9$;%-N+M_>GK[?9!97'EYT?]Z<7EQ
MO^%0,U9A.9EH-I^%0FY)?))GT:6*8FF;D==PHUG9"]9DBX=8>=ENK5]YV1*5
MEZ+R3E1>"OR+N6&BW#/G;,,[UM"%M]!Q_Z+8(ZKRF86A=?(MVO I=@#:54HA
MCF165:G=W/]6]27&8;&YA!TLWFU*C6YKKTJG*B/$POI/5D!W&(52(?DG"@=W
M)K\ZH-@;DES??_E5:BSF(,&R"W@[VRK@%2;:9M(-#TBH[?&S!+34HE/FPQ!U
M@]'8<MXHO>6-"1,ALEV)O&X=U'U+:E=@ZNM>8+-8XZTK@P)K2IWFUNI&A?$V
M+U:/J3I'YNO1T#3@G2?\'WX:W>UV9B,*UV/J:A.?E:S\K.[LLRRJ>309GEXG
M5+'O;!D#\A*A$''EV\XDK%+KM251AK\-3!8L756&R5966FQYA6OUC<IOFAU@
MD^O Q?,VU@.[VI*.'<7&4:/$YL.JU-U9DS@53)*[17&(P.46I5T3<:EVLBI)
MRBOM*B/4#JY3TDP^R<Z$6*O6:TG-1E&]PP0FMR;"VK5>0U+5HL*Y56V+<%@]
M? 0&=HT!X?B\I[V2ME*"8F4S(9(&].*$[E -Q=6UO_.ZB;?M6QB=6J\K2]U&
M4?UZ!(:78KA@RZ-;ZS5;4EN8'J(;T-X9'X>&@Q)V9#JC#_X66R\U$@4637B"
M*$_*/6&X*\J3,(5[\#7GKDIKU?+,,B_^'N]FW:F5<QYG@E5NZK.WW])GQWK&
M,XI3EQJF3\[A-:PD>+8^>YL53M<V^::]<=F$_7Q B"A2<E8M8:G^K.6/[Q M
M6G[_R:5LD"CY,'WE8SA@%Z@:^P%9U$81PD:QFKPJVJ7PJ ^76#+L>A^QKP0(
M0.SQ ?]WJ>=C93(NX=P)7'A2?\2+B_'C6_ZQ,;L.@W>=887/5\YSHEJ@B=N2
MN\?D>SS8=_K;?,OABHB&EUF_BW"J< H@;'>.3;&B>N2XE$QP>^EHX71@K+RP
M>&DLX.S5' 4C>)AIZ^88W;:XB=>2\N!+H)[K1[[:B&*^\<=]=5R759F=:DBR
MV:Y,\X?<0<6@_#@W'_TA@R3K0&4;$21C&/ >)?>W@W_'E[ 'R8]X>U/+2+0T
M27^R0GNK>FQ7UU>UJYOU>JW7J->E.O__C'$-% 7@)Y?FR 0:](?@_3\-G<#G
MM>K4'47-4  &WN(>,%E@'[R.39<EKYT!V.25U/'VH9Z$)7+$$2O/Q]T=&=K;
M43AK-P56&4]1WTC(_>V91C(?[@%V'[$Y "O"-A@#A*-S)Q"/Y@5;^ >?PJT!
M0Z%,96TK.,,]1E*/3=".^ "'/P.ST5<=V6X.2S!/, LQ?3!1\#[-VAI+\'U%
M"YG<E5[8M4W+Q4 X5F ^_WQF O:.%:XBG!/2#/[W! !X0L$\(\4T;-#T1GQ0
M+038#5M4,(&_=UC="$\_&,!0RZ]%%$6@5\72M+GHY5W^IG15I/?FL2E2!-XQ
M0Q7([5$?D''@CAV/=:=Q-=/#.U\<]R^6D*&-31:GA.=XP7B,S2[@\A.UJ0N7
M'P*XFWJ@LWFVCV-[2]I*L2KI(JR@=($A&D%+3:%ST_5\$I-:-"5]UD*:NA%D
M:1\@R"RBJ&9\ZA8I^TG8,$5+6$-N9 TE3!4F>8%A8_Y)X/PK%]@?X#%HA9FV
M]HB(-^@C=F7[F+20,A>TAH&DS;XV+)/'*[#KI 7EQK=:15I0R_I[AHOXBJO=
MOG1N8/'5(O-F!J KFCJ9I-W(>%ZHZ&^PF9 3>-:;!-M<:#(#[I F;6<&VUS<
M3+,(0">F&8/W([H_(U\U^R^)7!WWCT%P!!:("NH^8PLB<O?&.Q4A7OM/K$?1
M#L3#!:/=/P.;$QBC[TP><9;(D77XV:6/"'F4*:;'^ (!XJ=D>#\!ZLSG9+YQ
MI!FL\]/@=6@^X*>1Y)K:#X@IRXH$%%)5W)9QYK':>&R]18^9)84=X Q!<N5@
M(ZP,$86M9GE_R<BLX0B*VG1AIT-F=22,U& \N[]^T@ V> YBYAW(6:'_FL7#
MV=]-<&6J12\Q/69<.6!L/T7D$J_W+5YPS+I3XO68_#ZQX"<MG#B-,?L]K?:P
M8QA_/'9\&FMO(8U%KTS:?RYY=)T1_P/!A?^"*+(X^#E"T': M]/'1WCQ3HCC
M*Z;(WZ(URZT95(BA$HPH8S:J,8'G#'KGFTGLY H-!HH\B;#"^R;O'UL!9^H^
M<!!(.@R\L@]66A*^EY'6W?7Y;?C*R"J;CDK,68K+5H'C>&Q03H3^'8!V#0G=
M@PO \9,WX+.] /1*_!3>NXX+.]P+_VW3#7$RGT"'VS)OQ- 8T6ODT0IT/V!Y
MX0M7/C2?AI1WY/F@?0Q#[\N"[A>VY[L!+N2,>KIKCGE3MG]IKHG;P!5]Q2:R
MJ[G^N O\2M*02#Z*.0];CP\D[(UFK<>$/C68+7X>H*TP(<K%9E4:7@PL=V.7
M:L:UG=SDBF&2<L(J;>*!ET.3-EXCMO&.E-6-O!;VU6O.6G>_3(==)/+AX>.$
M0WGC2,YSL>R<\",R"/#7&.,O.NLB:8,.T('59L7QPQOY>MW'VS%0 R;UB+^#
M-VK\H.^&7;;NME,=$&I</U/7QD.+2=M^>.F=\^C&GUR W'^]>]'&RR@TA>@V
MYZZ)[-PZ4U4"HHMY4-V(!W'*^?$*+(CAS#^1S8!SHM.,F D95SY:CN."/76+
M5A$SA(%/-3": ?5V*A@6>ZY2_ B)/-(P8XO5K:"&,T!#AXH9#T1"<YM;@#NP
MD]!.C"Q$A,*T;9II.4U'.Z2D&I>RC ZFVGV3Q58 4$@S88?X8!SVB#]U;)9T
MR,Q=Y!-<3NKBX.O%_5D?%9CIA![1Q )Q(VMB=@?,"463=-HH=#7[":0E]5\H
M(',=SKT(,<P(G['<#76Q9Y;VM*1U_#?3QD 'YPG/A2? &M(\N4%T(A_5U46V
M43+XAI'PEN## T%EA(_,!B;(L],A?HG=@S4),M8=GR9:Y$P#1B7GX*HQ&YB1
MZ^:$^EX5DP^Y[D)S;(9B&:VW7%C@W9#/A1'V!_(*"I\LYJK2&(I.@6,H&FL,
M.FCLV1B*QEIC*!JE&T/16&L,16,_QU"4>D)$8X,)$>^RK"<';:G .I/'T<'K
MC44-4.Q324IQ"#O#.QGC?"6?35*R]6#TX+)I$1+Z^GB:!A(:(SU>])(H5*@]
M.,_T*#PRX"=P;.021O]9+0GH*8^%^>'J8^ '+(!K@$*C!C^^?4P%C'GSZS 4
M%YT9/F$VOL?.]1AB\)9X)<G81K29Q(H-%F!X"$\WIOR-A3 C#X%/:%03P.[G
M%0+P_1L7CYWABQE.S,*'?MS9B48$X:&V=+($1J&]Z.0SCWK:UOIS))HRFTX]
MVQ(@/2<#8/X0)7EX*;>9Q]PQ3C4YP] S<A2T9["+F6R*'X2Y!RQ=9,,TNUN*
MT[O0CEHE_V15*%Y<G6\"1JS'GZ1FS1LWDCERD?O"7*PC ^$TFB<Z%<APHL.@
M>4#&<\/E]NWOX5OZ_"5)/V_%L_>=1VAEK  _5F8['_P2YI9F@GBQ..CL?_XR
M"A[+1'7"C[]9".84U(;-I7J8F@L&*LOBV7%6\TW@>H$V2<E9>'B=/NPTO2S%
M:O'\E1@&>K3S],$L<HF9NI'GPH BU2>PPI5P F*T1"9D= Y2#)4KOAF?\3;)
M-7CDGIF6?)+.DB4>:#PP"OD;-9D66"P4Z4[BDORLF.$&D"7A(3'FX3#U[@(<
M#!,-!?Y$3=?!3N)!ND1<,SY:3LGHXZ2?,M?D*ZY<YA(,$$K3[:*\G :.-%NB
M'J: >ABY+@IBX.[+0?]N^3R>+8K-I"AC;00Q5RC97XL%,EUN%D6V 9,;GN\P
MJ^)%<RG.N\%KSN.C"1*0%;?RL\783;%0-M._ W/,A NW\IXU%[/.HEQ0S%9A
M:\@>3SU]%YC$SVC A$8;OSH1_$M%B..F10B&7,$D!'"A ;!AU'Z5^:U-&;NN
M9XYO13U0[,+G11%76WBGUILS=_:87";@ST<.,J\+\,:5$,L,]]DAETOX7."H
M[(>C[@6/T$!/FVC[:YYC SN\Q23$@N3II%-0LO25NKJ)[\6/^:MVXJN=KS4B
M<?Z$1)]U>9BB]7@0XPKS$].T@=,%=C4SL2FSZ=FSP?.U9R:NOJ>BYR0V%7[H
ML]Z<Q$Q_+$MRS?'H&(QF!N(PBDGZ:=DB(PV\*8<M]GEC23)]'#'M[*X@)A2Y
MUFL<*]F"(GEP4MB"D_T>5EFP@@MN9"]X)62"JF<S)[ES_2XLKL0#4U Y"U^/
M?G=XLKI6S&+:D4X&+=9PI14L2#E6.QL=E^6PP?EM/O+:8(-M,"-6,&<TZOS9
MBL%X;#%O5+/.(T_OPN;K8&E5TPY.CF,5FSB4=.NAS,F41.Y>A0:"Q^J$(E@0
M7?.&F&;S I_'T(@#U^]5KU%94ORZ!\UB;KLWI-1/O7)])G9Y:WBT=&:,U8H-
MANR\9RYD1UYG+F3C?7,AYWS]8.="MO9\+N ]2H PF,;$ /]]@+)@AR,"%XRK
M+/6PP)6I-MFXBH2=J^8N>=../]$U.:;$=,^?".Q<@QRA=$N%>3IYSW58COB[
MI<JK &*H[-1/,6QU5V 7 TY+UN_S%&7)6 / L&SJ\!S&C'IRA&D+(S O Y=&
M1S;3@:-J]02-IKJMX4?>\..LU6I2"F@.V53 U5*D>GWV+%]T_\P+B6M%_39"
M8@N1*&<D HOQ"-L8CQ!+M=OK[T3S/(HGT@]X+L E(7W5ARPG'D5E%27?8FZY
MQ;NN'[][M(^PN0XA<V$/0KB<3Y\9Q>.5=B<7V[5>LST;*A12<:MX+EYT8O%=
M@0,VYIZ=[U4\C<G)C0-J[<8Z ;7V^P)J<[Z>OPKK5BHTT=UQ:&)NH%N$)W*)
M\FTWW"CB)#O!_\S!#T>[")^4V6?@_L#$<ZB\.Y V :>,QFW//VDJ73:FNBZ+
M^2=%(K'0$2=-%=.>6I*B[M<XW,I*LT1TXR1'>;;Y\)B\[MGM^BJF;-5MD6=_
M_E0RG1<B'D0\CO>VSBI/"0$4C?F-IEF%59J)H59;5\^J7)6)]?N+X8)UM[*/
MD^PK(QL7J.X#F?B<'9&^<FQ]-T.?FZI:Z\G $O6BQIT+;&Y3OF$?]8[4*6S
M9E7'+Q[6W&&!@5UCH&+>U98G/U<[M6LCI;-]PZ')8IF*6M1I]J&CKV!+H<6B
MF,WZUERABE@*AS8D6.!@]SA8/*AYW08QL=#YIOFLSUN>]93M1J<$]91>,(+7
MP .P_P+;)$Y?79P4/J_*L6+EBHGTJE9G_7K%SCKI5<WM%QS&^16-VI(5SBBU
M@ZK5^K8J6ZR3S+&UB&CU'9UD5E-EC>&%VBFJ=.!M+@R<+GINHIW[!VM9L6UW
M!W.TI6ZCJ##I?IX<;),=FH=Q1+ 23YP%] H>?/]"K6?*:[^WSQ$=QA$9\YS*
MS!$'H3E:@E62K((*X_[%V3Z'=)%#ZLU"ZSV$SEC "&W!"#.,@$U#MLX*C7JM
MUY":C:)2:X2RV)A'.H)'IGGDW FV[V$TY%I/E;H=X6'LYF01![IKCSYU!3\D
M^:&/(&%,83[O0&\HM5Y7;8@S*I%+<2BY%%O+QN2Y%#S@&XXZ.) TS%5EW_;%
MG<I.Y1OUHII![*<1L#660,(@YF@<^*R9"I_@4Q6>^/ .IOAN1VV=,:]?AUO[
MK O7]CD$,UPEN9UK#ZF/PB80-H&P"41^98GR*QM%YU=65=")Y+#4P.2IO[-7
MGIFG5*9)T=W5A^IM/)AY[4G(F2E@VQ\]//V3M=Y)_HP6F22PD+YF%!H3)7&Z
M$(GSA5(/RD!0ZO-\AAC/36I,#(F(1LI[.!7#<K#_:TZ)C)V6#+O:279>YOP[
MLH(UP^^:2MDKWP0\>78"'EEL/V4LEZPMA$LW ^_\XJI_=7K1OR075W?WM]^_
M#:[NTR/Q" <.$_$DDO'S=E[X6+QHTJ87SLO5D4X-\JS]?_:^M+EM)$OP>_\*
MA-<U(6] ;!XZJWH<(<MRM69L2R.ING8^58! 4D09!%A(0!+[U^\[,H$$"%X2
M3PD;LUTR220R7[[[#%)B3CBJ.!_5J7J38OL#0W^T>15)VN4P]C%--Z QQ=0P
MGB;EX1\X( \61M*V<28GMWR&=PKX&*!@?#AT1MDGA=8+]N2^"[8:IMVE2:?.
M<!A'3[ 7-82MY_AQ?BP^K)YH,^%<>HHP,&@/7^[A7V30T!R43ZKEW"VVG)N8
M:CQYH(J>HF--R#N>;Z[H/XPI]5J6%P;7*YQ;(,'\%N33CSZ@-Z#%!=P9EK\F
M8OG<^+A=<^/5<.-VS8VY1>3=U?E___/J*Z#,K9JT:5W\SV^7=_^[?):\$ O>
M[/#K"R<.:33]-7#2V[X3BPI5?/H4NUNW+[PT$%<]O1BL14M]<J3OGH7>9S]
ME^LR"U%.3@XFH^7*1.58(0IR>S VU"!K'&R=)CQ4"R1+%X_/DH@!8 D-[2%
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
MFW5^]?WNYNS\[M;Z_?+NG];Y;[=W5]\N;K9Y'N$0N+#K#RF-XEZ$V.1?X(Q
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
M9$] \6\L5^VO6?\*\6CUK/]Y>'2*>+1[S/\5\7BM0%#+?VL/._+)UYAV/R6
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
MICV-GB&] 3T_L0_,'YU(R/Q![CQ&\0_8)\CGH5J!?\/2CMV([@_J0^<&S,7
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
M+OE..05-<N ,XSZ.'YAY8;:1U,KNN2Q(0^FJ,3G\G0$'^O\ATPH&=GP($)E
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
MW<QMHHO-R1^A'>PH)&(LD2!_<)QY?[ ,'.Z ,RTYOT'G#CKHW,;%A_PVFQ_
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
M6M4S9!EY;VJI7<R5/I@C$WI6K/C_CH>!S>>7*5$6:6JT<-;S&55IAJX?^)S
M'/4L=&E<DDO#VOOU[.SZ Q:*L?X^.Z-S+XS"?7I*)VG2*%!*".4:,[PJJ]WA
M:ASXTHO<E$9M\LP_-933V 1F0%]HP?>)9CK"5XF 11/;NG.>A+2MSY@][:I#
MX!-G@PA@S\G5UAYO_T.#5F_]8B:$YK3RC]V>H'E<3]#<^@F:L^CQW!GBGY9X
M&HK0HS%Q,BL ^IS&E&3=%UP?W<."-TNE2-N4_^Q6/&\] JE8[SO'C6-&3=A:
M@%0QC'TX'^P3F$! 10] Z._;K?+O=*W<6?S#":5C-@#$_<!?U)O&MMX?- Z+
MC_JAY6*!;"RP[H$_\1.?>@U*KEQ]?]AHC3_D(*=/1G@0>*?Z%$\HGGR9&*_U
M58V$='H"]U"HD>726*Q+@K]E.AP"3VB4YX2:)'&RDLYR-Q>WOWV]N[6NOEA7
MUQ<W9W>75]]OIVQC4H+_2E'O5P935JR,@U8!>]) 9=>#R:$J56@&;*\GW(1+
MF,T)L(@640Q7RV7%<%$V#NZQP@C'"@U\QC*;\(DPHV(4;#9,.A^1:/./X06Q
M@P,V .%])Z#7] *'J\U\)1,L+."A)T()DB7&9BA<38V+@YC 0=986\.[\ >
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
M]/[ ,Y2XG?+P\C2V8O$0!316'"[$\Q.KYV!6<^)C'K=Z&KX,\++XQ6$4#YS
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
M)DPQW9)\)?PTAQ]X:PIS='R-<F[:QL..TF6(6)-(0YO8(2VW@=Q%XZ#%\TV
MUN3S$GVE"6#"OU4L@8S.1+C]T/\KY6K7OS"$Z_=&+'Z)A^E S@30*O3TLB04
M('L,@"$@"0VB# T,#W8:)-K1K>XWNY:]/!<:F8)@E)(?,B3*W;;(I]37E-"B
M=N]CL@[EY3LJ=P5E(_" P9"=,IZ(:<LD@&EO%M5\*RZ5UP&P\M'3&<<8:%&,
MUP][02HX4$.>T'P5Y4 B+,*\(O[JP:&6+QX3M6. 4RUIUD\3.>$]X<;)P4(^
M?O>'JF!0X32C:&$T%"KZC!*8 )GY%= /82M_;4$,J3-5/J1!,!!PA5YV[0:5
M[W04NEU'H7<A"CV(0JRKG\3M5(ATQ#Q:MS3A<(&N$U!LQPQU9D*%U!]):3=W
MHR%J)\AR'#C)GU&L4G0FBB7%]T@^HMU"+"C[V&P-E:+5D@6_)&D9VN. 3DBI
MY"=UD&+"P[BB.@\V'$BHBK(K1*AT4#RY2ZQ$L_2D/X&M>[YT4TF^2-3WS9T5
MWF,K/YH#K"=W1%,-$_,)RJGATV>[R<ZKM8 >O W>SP"!HR#?8\N&^HN%:5%/
M=1,=^]8N"BR?A_WUTF SI0(Y8Z:V#Q.NG*$W7\4JIB@%T2.E?SFA5:FG/&OM
M#OOZC+6YCY(!5AU8 UW;U&YRN93KZ2\_%^F3SUNNL\!)"MDI(M,AG<H\/\XN
MRQ)(*,T+0T@Z6E&B;B-I:P.E>2G2C!.,I$\V2F9KY=DE/\+H,225026:&JAD
MJ#B4MUHB?$86M50!MECB%6'^'7DE&#!HA*)#":U-56HT0P.T)_PH4_K*FEZ6
MMFQB9OX@QYNXL4O&W(+<=@A\UH!\H7>B>M%1GQ8#+2,N1O^3U"C-=WEU(R'&
M48$LN ,S\2]D"]7.>H&@&\!HY&@.#B/4-/1U9=4KKC>9Y@DZILT'JAY'^Q%3
MR2F0)8", 2PG95HF:^LGR1V,\LQHO<C+H_*J&B6Q[X?CBE5;P^A*]=O8]I=C
M.44F8MG8D8<AK9H<^H5JS3S*&5%$2_U#91>,68F,\/IWE!=A-#$LM" TIKGY
M66B276!5U^18K>9/1HAT@N43BX'RW<TV+[4/2*]2LBK5 IB<98"FD +D6.];
MC5)22W&+9>Y5AMAF)&AYT)Y'07$Y4XDS>A4B%>K#O/EA>J>+#=,[6L(PO<-Z
MF%X]3&];[JD>IE</T]OIF47G+.A ;00]LBO@#:'*VV:-Y%6,*FK91Z>'.SA[
M8OEP.&Z_:/Y$/<2E3#B9-;+7^O J:.5H60BRRT X>=' R7I6W@+D ^H!D4_[
M=9#/WM&+!,VK&3GY,@IZ&W..=G>"6PW->A[>BFP0U<SEE5D?M5*U:NOCM0B%
M71[65L-S!</O:NNAHF].==QOK[,9(V*),T([]L%1<P>%Q1)!<&"W6DL=IETU
M/K(>!K7<85#D_MKNF4YECYVNYZ?N$>.Y!3K!MI@PQWKIY $H;^2VV[MSV\K!
MI&_;R!0LY$9@68<J3S>3@-P@DC4&5&! 9^LQ8(*28,QT,Q.6C!*1<K(7HT A
M@V9^?-BB/@.W7$.$F?DJF,KE /FT+)U(EG7%H9JZO$ J&'&Q@*I/T%G-7)V!
M?S8L_1*PY&-<U;6X% C;DV"ZG^K-H,J \RPV:3:)O!<XZF38AZ=C<4_?<C:2
MEZH:OBPKK(_CS_P!5OR(G&K-YB]9$H\NIY)]OY>8?8FXY6W>^,*QJ$5E=K5G
M,AL2@#\-<:"8,3(A2WG6K\:AE=C#'#$&+C.%O8RR7]D:LK((V(CJU8A1H>!Y
MR*;4T);PO86^']PRD]M[8*I7Z@?>>#<.-:I0U6GF<PZXP2^6;>S3D]RV$V^.
M6DS&'M^J"*D^V_&P=7%2*NY0T- 5;?!S:D5F5KM)A0P$E71 ,PX0ZHQWV;=Z
M_*]#@WP3S"2G<;YZ$/,PPI8W#WE'CVQ,< E28TEE!OV</#<?:X<Y^>EL3@YZ
MSG^^2YZ.3TY:K=,_3F>F8EPF8H!MH9JM7SJ-\9R,;9 $Y4V/BX;_H6JLA&?M
M(27]#Y5C\K\_^Q)9/K5W.NNB0O"-F\G=^/+'0FQ^)=..OE!N:=7D0Y67SCT5
MC':EJA=>#-N7-E"=L/ "V\U?Y@:#4P:#32NT?D%N<8U\Y?+2MA UK..S4M_@
MK(?8&><:W] $0TP=AY,,9G?\:37W_SL;LJ@R5ZF$@_/UBW,L=,H^,1B<^"%H
M\F%>.\9)JED>;WF/!JAR4'J+3@+;Z?*S3EU^]LSRL[<H,%K-123&P<Y*#,0O
M4&)9[[J.(Q=4T5@-5-^H.+BKY&*Z'-W.6T;3[#I2S%3-'"IOU[J-"9WKO.^+
MGG7Q)-R41, 5UB9A]1VUBI.5'#/O72NRYR+]G!ZQ>RM"+.__%RK)5:_\DE6U
M+/;*O!HF>R7JU;J]H9H/V5/M/BJ:VF=K>IFTHVJ7[*J'^55/Z=3]*>\\X6>O
MI](<?-=<0,XGM"P**S;28->J 7Y6B_.<,\8&O+00I?6II!(DJ1:@?ECYCJP7
MIGH#UPGE]\3SBU&<EJ7J/DE5W0MFZI1-)^$]C95(80U5I*M=LX89@?]#\-2G
ML0>JARS/?8B=%O0'$P3];HEY4X@#@@\#9_0SX&DH0"[Y3S_W!1BO,?U)[86H
M(<S'?P1^^.-G;, ]<&Z II[HW]BIX#_?27\P#,0[]1GO(@&+?1^QK]GIM!I/
MTGN'U2:E-?]NO(XAJO^G0@>Q^!I^J=)"+%9#+//GI(A8XWI',<+&'ZDUBW*Z
M]6[*+@JX8_W'7VF4_%)"(?[0Q#JK96(FXHA5@:KT6?&48])6WYL?8EBFZM?/
MVUI TS3WE6:$6WD"J/)&G\;?>GUV<P>&C&720WZ3-?AF@._J[I\7-];E]R]7
M-]_.[BZOOL\ I/&^HQ= PEAAP0UKQFMP/Z,$;XI^K=^O='-<71<OGR./RV+_
M/K8I97;TBZ6(&]E<"6.FV #J*M1Z-#QG*.%C_1<<8[JN;Y&RSS_S2CRA_:[$
M>%K-\0:8", QDZAX#PO"?3%D-LR'5J.(4:!V3PEQS['Q<0Z[8DJVS+BS<B3O
M"'E_%=A:ETP?X5$Q<P5YCUE"YEZQ06",4?H^J$5/&@J*K*OYK+**K(/%2<:\
MC@K+:Q([60LLS2E!:+ $SJ-,_81[(SQB+VXT-CA 0D$HV](#,)Q[!_LX8_4Z
M=PL@ISDZ )UX9,41&!6AL+#W@.J!J#JX8B0+S2:$9SZ%4,<P&KK$,^MC-FY'
M#4!U3K0!)46V:?,-W'B5&F#(S!#QXZRI%L=C4S6>5G6P5$UM,Q]=WK>[2CEW
MS6EV\[=#L $F?Z6^1Y$+Z@\Z% E'%3B\P .N9HHJBB.\3%;Q$K6P6DQ8=79,
M6+5K8;4Y8?5;B'%CR7/B;['M/W*#"V  0/YJ"J"O1HK^)LFT5))MU6)M)5)L
MS_U@5;6W4'TP92E@%*AVEU&AW:W4;62QE3%V<P73^\?BP0]J%N*ZP /RD7<<
M&6IV\ TWXC[E%B]6P?0U0C^6RN];]-9O]__[9X:X-9V'MU_.P]N;X.&J-0?Q
M<+;^U\'53^9AZA_'@PG6P4GY-=.(GGP_8VN<5#!YU0_DV4OORG,U"&H0O%D0
MJ-3M4H7/W/QJEG(Y00W3$*T41XI#YQ*B<;@<(W)NF\(J)J%;K:S!2GS?W6O:
M%O[?AU^LS!-.XF4?Q<F6J'//L7VN53%@I5XVSVU.NKBQZH>Q1C<S%BY<ARJF
M*5U%\2=: H_=I<K5Y-L<C]>LTXC9<SX4H-R-_[Z^E]]%B1/PC7Q/\\2>J+>Y
M+=WB0#O5#VLO4AOZ+?03N4$X72NM774>63I1U+2U&MKJ;A!G5$8\W\DU#C=1
M?SJ^M[E=#36-$YU5D-D&(;;WOJ:MW:$MMY9;NR.W>#N.U"PH3C8/L>NT&_AN
M,,)<Y?_?WI7V-FXSX>_[*XCT+; I%$>'Y2.[#9"S39MLTB0MVD\%+=.QL+;D
M2G)B__N70U+68?F,9<L*%XM=)Y;(X9!\9D@.G^%IM7<H"^3S%BKQ0LCFUQQ$
ME^H2F_8'F]H[G'-W>&3WA_U,= )!Y@ %_PPG>;L4?XS^(0$Z)P6 +?2GPRY'
M=7<I3 ^SY+("#_)"@?5W8/C9Q<PM&#1%0,'FMZY6%:0;#?J/:1XNV*B!\[*,
M\[$P8.!((ZOLBZUY0):(O6,U+KG'LI5#L(P<FU5V]4?3OB03<(9G-^N,I%F(
MO\8&V\HV**N0&,RS.$E6*FVS3B5L:,WJ=D64VI':*;%V-%4Q#5/1U.KFQ,O-
M[$B#\DZ#<DU:WFR+DOQ6;Y;:I&BZ8C8:^PL'_]NT0IIJQ5#W5Q_2>$CC(=<L
MNS<QL8"RM'W)B#4KJ7&I4N.BF?L+%YLW+M6*:>RO/J1Q*;-Q$6A'T6RYT*)U
M@Z<VVA=)?%\E](@]%+%?)C?F%YN2=X?,?J 6;F56ED!/Y6^A' ER),B1($?"
MK)$@]TR+NJ#]@Q.C]L8+F6U*NI@UP0G?B\7;AAWSHI>W!V-G_Y:X!>_SE<J3
MR]W0W!M1\I:R>C2%:**<HW+&R!DC9TSN5NW]/ YAT+'V8ZK#E[K+J4_'*J\2
MZ#R:&^B\X;'VJ>P\,\D>K2[-*A/F/%JT0MY36I>M+(\O5Z4741!?4"*?!:US
MAG<@&>F27ANUQHP MDUZ]BOC?@G<!,4KD)WXP'H/Y">,'<4/<X_@%UI]G^6%
M89PE'K'L@<U^=CO *15XML626C!>E!>/ED)_&H;AX%-$5;JJ51G!#!#2HR?V
MULTD906+X<83NI:8B%0RUAZWQ]ELX;N),/"M:%V*PYZWTV'1_2"QT$\7OX85
M=+#M(:#T(@CR>7 2,#R:U,99>4F*!FO3W#>2\7$_P$V7X/9N1E2'(IB(AZSR
MQ!1\EK(,0.<N]EBNXTN;3F^>U*?M#@!4,$M*QX'&(R%!4YCF!MX9#F#V:FJE
MP8NGK>D!I9*8]8+>W1T&?H Y<6"<U8DSL].F]&TGXDD?V3[CA>)0]1C5*^Z9
M !^X[6<)!&2!C@LYM"!KALTI]U";I0RB%<%7,;2."HC#9UC66MDV<L<K2?NW
M(]J_ZI[1_IF2]F^'%-2,,O4F1G:WAV1^T_#!%W>B)U;5R8SB>%+ C$OCPU;?
M]GV1(^0.0UTB*=Y?;L"8$@5_XAC]2KL>OEV",+VL1+XLE1^L/,#<B@Q7=X0P
M.PJJ E/:%6IR8^Y /;1=]TYOC"9/=+AKD&!@%-D\6!I*>&*2=Y"5%X7+AO&R
MGQ\)L"^B2VI^#[G%A34'2W5*^_$5>E&4F118D "?39*DQ IB?DN84$M3&TJM
M45<TK1YS.!)"IVL,RZ8_!RQ="VHVE89A*GI=G57&YZ96:=1^/%1X/D<[&#*U
M8D0[SQOVE8DWP?-YLMR)<,H*60SINJD%R2KAB)YZ%B-&]IG9Z)FDOYL<MUD)
M/W<[<%E&R-C@A$X2*6S Z:(Z&[@^[LW4VG,W\1"D22.^Y=DMW@UM$F"[-RM+
M3)MT;,<.4S>.QE04.L9X9E7FC\;&M6Z&4X4QG-H.2\ 2Y2F%\D%X/Y8)CV"K
M.Y&."0>N*7V:KNM;A*ZY%U ]Y]K)^5X-#QNMG<1;R&$ET>&DQQ+FT"8-/=2>
M+$'$I@)?G 3@TWNOA"D:BSP]+/D>K!VH\Q[0/H;':0?5J:O/AD@_@K]$A; 2
MF+QA4W=P:%D4QMBZAV79HT 8"@7/PA8%R[_->S[=QRS5TJ2/&11@7S#@^B>2
M ':>?]_4-^_>9VTWF/4?9[!9&K/9+,4+T_^6HHB=TEIN*@AB>3:7G9*N7+O>
M>X*J/HB6SGA&":FIQ9IJ^9!05VIJI>7_)IC=SSWW>TA:],UUCF IZJ]/""NO
MC)8HPO8W#,5>5= %_**D4;2-JF+HAF+JM7V(@MRJ9A2U6E.:JB0?2%^:-13#
MW&.*BGRT4E>,NJ94&QN<1_+R15%-PR_$P>BB@F[=5_IB24U#4U5J1E,Q&[J<
MZZD[X(I9JRF-AC0-*<7H)H5!78Z7/;8-<G&Q'3X:TOM.QAC=69?#3L<NZ_*B
MJ2E:U50T4T+EE U1:U0YA@3+#!MBJE(M>VQ#I'5XIW5XP! 4;F-T7J$%MZAV
MW7?M#A=X7#=,1=6;BM[88UZRW&9\U5#J=0F%TPO3NEZ76MF.@=AHN//[HYTW
M$^P\*Q!6G&B])R1KA19MQ9;H9F:P:EH+B8 CL(?I)I!^PN*W2,?UP.+WWO#8
MC_J]._$F$C'?H6$U0-C8NE(S#06%_QRR>Y0SXF*,BMZ EQ."5FKU#%G%K^/'
MB8B=)U(I,>IZI//SP0^!:QV</K,@&;>#+NBS<"?KZS%>;HBDSB)%+M6*:=/Q
M,1U:+03TN"P\PB;A@K!?S1DBFQF#"4=+950+VX\@TQ=%D.$!W* C<$O-07";
MK?UJ^ZXW1BWLVSZ_Z6*Y_0%Q?!Z,+<)*T]& 9$2L(0L&=.D2VX*B'=SG<82;
MC1[<30S9@MXL2U!98XT8V=E!91E*FT29909BZ<M&8FWSO9U&>WV$V*N/$CGU
M4>*>/FS44J$/"N9T3L-4ZM6Z4JLM'6FPZ8751)2:4E--1=.79GS.31)-4Y5F
M<^D-@=SDB-::+#_=FFO%+/]E*_<F"N$&&XO<8+CM#-<4F*_JLQL,PMF]\JAU
M$!L2N$_QXQ\Z"U_0[>T#N)E9KBTT=D!8B\%-M?V L5@,6%Y2A"W+A1L4M(R.
M[?4GUU\ZMD\'"6(7,_@UZ4MBD2C-8W136CK!)7>"S36=V3S?DTYPF9TFZ027
MJYW2"5Z]<YK4"6[6%;6^-,]Q;BZ?01W/.G6""^".0^A$<^=B" [APCJ_C1D.
M4W+?F;H52WE0\'E;5!$W;(IYU"7&S)$\\SSLO @.M14X(9IY<4+$R.7^XS3L
M\WCEOMJC$^K+?1OVB4>=;=B"_OF 6.V3QV&/:&K+U&@#SSA#TW4/OQP +0$T
MY!'.*1Y4[5_Z%XIZ=E7C7X-_/D"<B^3G WL4G'3L$6G39O9\<L!X;NS1ZU&C
M9M:H[F?53C$S?P'J<P2(U_[L]9U@TY4WEF]]+O4W#TX=]^MQ0H3357]VV/%4
M\BZ]ZT4G&I^Q.+C@YQK0*+1I4ZO5\)'VN7,HEJKBN.5J9'5A7J(S*S@,*<84
MU'?;?-GJ>G$F,& @!,UZV H4!)Z=-Q0+6@^]>385R$$#("\,5Y\3-C#Z,UU!
M3O3@<YH88-X(NCA ;QC6MP&?@< L0-?-?F?,RL =6-!B=J9#M40<'XZ.G+8=
M,'I&6F(^"J/#BFK,FJ,Q:!7H9--5TZ%S!&T2->?3,E%X(  :1P"='H_ 8(6J
M:H/J@FF;O Q[@D%IPY(]'?U^6 E;O1G*M17V%CXL!]N,K810Q-5(V<P](V6K
M25*VW9&R78VZ=LO.=@GS=,JWPSOV1,!>L!:B&UK9*"1,HG8NM"=1#J!',G"]
M .(EKFD7YH#Z1W\(: VMLQTCP_/(?T,;]I-;8[[KRU"?5FQUD0W&V7(]*A_S
M ^@C'C7$%*NLB!'XG<%BR^/TWD:/+=/$[823U6:'DW$;ACY]^CK(""O+B"J;
M$53&8\H.P(X/**!&(65\B^6')OOS14Q<""GCY@),&]L=[II+!GK1!YF\V1W*
M^S,KTHL'>J6Q?#JB:SKNB]H]E*F>C)YGOXHZ3(M^%EV='EM34)W1F*>;7[Z=
M/?_Y>,6TFRU+ULD9JSP^#"?0MYQP!Z</,8YT3C[.8*,?<J'#[YXBYS[I+7>0
MUC2JBG@13K" *)TQ!#.&+PL/?796QIF$ 0UI-2V"?-IXSD 'MJ)%NKC7X4!%
M.$NP>(#Q$ X=X$&'\FA?=5V/MJQ=22LJUFC04ZH/I[06(0@M)>[AQ3VZM,<G
MJCJ_?[R\>CRZN+^]/7MXNCH)/\P?!NENB6;'%^$RJG08?D+\S =-G[]433:/
MT!QG1FR7B:+A\:QREBPF^VUC0T*PQO M8-[FV<XI\TW12MH].)TG(1T5::FR
M-1#?IMQZ@1']CT'1#C[-<OXHDCY>_8TN[N\>SK[]HZ";;Q?4!X8W8DX7FMIJ
MY]J:4I9 <)A&Z4;%OXJS$VWZL6F!MS0J3H'^]"1B;FV&V1H7]%<1QLOI^?AD
M^D$DT.K\_OGY_NY$K=3-02#2F?Z@LC]?EJV;?4T-/C=:*3A<H0(F[;%_C,ZI
MQ]G&Z'=&VF#9WV>,5@D)N6%,LDM/98<4K$.>B&/3Q=U?M@69&0CHFCI8P)AZ
MT;5)!UW;#G8L&_?0/=]\ECVVXQ[[/&VJXR=K<%!%/=FSB2<;=ASKU >/KLOM
M >W.C(YE!OTP?G8N]E&HB,FUGESM%7JU=_7WKS?G-\_43[ND;EL)%S)"S!,U
MU'=B6;.)]4--7W<=DOZO3&7D@/N-1;"_(F1N\_'57HJ6()"')H7JL0F*DE,2
M94)&(F/CB591U2FG&"6W\8Y:/=?ZGE+]^['F9M8^+P#&.NK?W1C[$M\UYYOF
M\_II)6#?B*[%T<#L+;P,.;1"C99O+*/@ND-CF4E6EGEUR1)@#."H90UUK8M,
M>GD4"&=B.0XTJ>@,5)*ZSGM0V[3P%ZX(V$J42M^.TDD8<EYYEUN3.HI88I>\
M-G.3O+;4YG?RJ>I.GMK5;E&6/P<1W%JS^47\9U2T//;>HZV);A ,3HZ/W][>
M*CZQ*B_NZ_&99W7M5^(?D_8+]H[;.,#'FEIK-NJ-8SJH-:UI:+JI:[IA5$WC
MN*V9C6J]T28CHU;I!E201\(X*MKH FKNT+IY*KW(%1=7!MGUPDE&9_IU17!:
M_#;LC1/;2&S4MR%#&WOYA)V1PI2"6!BV+R08,!KLP$*K\+V5')%D3;^/;<.D
MCK.RA@$/;HF.L)); %,O+'V$431%&)5:J=MW-GP9AM=B=3XV2]W>A0.; LB1
M5JU5FYL=W6L=\4KCE;/QTHMJO'2M:FI:_;AM&/0[9KQT;KRN;<\/TI;KK$^<
M-HLD%U%"[S=QDR-VSMFD(VFQ]@/A,D=UB=J7BOTH=V.EN9+F*C)71E'-556M
MU@S-/&[7:O6F88*Y,KBY8I9)Y)"=&*6%H_I\?'2+WWPQIE-4A<) 79.6-\2>
M  ,]3+A= C/U^\<P4QFCN43M2PW/FB(^9$8KEJC=TF))B_7%T"K:3_D:JS:_
M_@BF1M.XK8G6.F)QPT/PKB:,MF$D5\J>#&)7+/C-YH4@;6 ZAC_CP]!"L?V^
M9>YB5/(W4$M%T&WN(2EC2624"%HL!-6WB*#Z7 2=BG5=A* KGHTLQ%O>/HFZ
M4L;2R2A1MTBHJ__TT_90-PMT_7E^ZYQK)0D(?N*LMVN=4#?5VN1:,?9:V"'^
MT?VH1\8AGNJJJJ//6F.MTO^L/%4N*LN^&BIXVD@L>*F^ZDL)(37#5 ^ER9 R
M%E1&:3**8#(T5:O<?'O*QUS<L'@\]/?YXRVZ<?R @CU!EZXUA$->0:+)"67$
M=VWQ'?U F^JX 20$ @IRD;;G!D+QL,7,R24.,(*@/-0BC &"D3RPN@+\XB/L
M$02$Y6W8N'^S@^ZDC$BHL+Z*1$@I8^%DE A9%(1\NO@U?X1\QB/7<?MCZC('
MA#;2=="3U25]/(%,"5-2QN+)*&&J*#!U<7:[$YBZP#TKY':]M9WO+:#NE: E
M92RNC!*TB@):EU?7.P&M2Y'R56*6E'$_9)28513,NCT[WPEFW>(6Z4FXDC+N
M@XP2KHH"5P^/5SN!*Z 2I/ D%X92QKV14:)6,5"KFA,GPX5+?XL>:-.R3Q/%
ML21D-;;8HZ %EF0J?!2N#Z$.'#S..*7,?GBU4TI;GE)*&?="QJ])DMC-4HR*
MHC9#(3KA#8V1R"[*M[44(J8P+DR D$5('MXS NK8@].X5Q;_8AZ K4J@M JM
M;(KGEI,>M1&DQP!LXNDPHHM*7R-FX(_1787OKSOL8)&-+\RX"-D&+;<_H#XY
M#EQOS#,M0@K"%X^P1V6W%KY?KX>>8_O=)>9BFJ3[ZW'+;8^! 3OH]T[_#U!+
M P04    " !GB:E8#+GVPH@'  !I'P  $0   &0W.#@Q,3ED97@S,3$N:'1M
M[5EA;]K(%OV.Q'\8L>HJD2"$-JUV"4$B@39(;)*7HMVW'P=[#*/8'G;&AK"_
M_IT[8V-#H(6W5=OWU'Y(L3USY\R]YYY[Q^[<CG\;=3NW@UZ_6ZUTQL/Q:- =
M_+OQIG76ZC3=)>XWLP&L<WW?_Y-=?[BY']T_7M7^N!V.!S7V<?SG:'!5"V4L
M&C,AI[.D?:=TQ,,:S6'5"DS<B#@1NMOI#W_/QR^EG\S:OYR]E7&-\5!.8]@0
M06)G=1[R81'74QDW$C5OG\^32Y9=3U22J,C="E2<-(S\6[1;Q77 (QFNVF,9
M"</NQ)(]JHACI=YH^.'NJJ8)9ZW;N>X.GF=R(A-&FV:=YG6WTWR@7>]"T'K]
M!2%XUB<6P\W@<3Q\/[SIC8?W=VL0N[VP%T,BGI.&C'V8;5^\.@Y3=UAGUWK%
MXVKE]HR]YU)/>/QDZLP3.I'!BB4SGK39%JIBA7=88"M2+Q#6NC_'$S._M$:(
M;KWKT2 W=7W_V!\\-L"L4>_AXZ"=__@D[.T]UI@S<U4[K[&;P6CTT.OWAW<?
MUM<?'WHW^?4?P_[X]JK6.C]_57-X'IE)5J%@5ZPVYU/1F&C!G^!1(WW1Y@LE
M_6Q@/Y]\\:K&?L_"B7VO0^MXW#I#$O7S*>5'&Y/*'F6;3F3_E&R7; O3D,WX
M0C M%E(LA8^X2L/^2KD&%<,5[L^53IB*V7ND,.N\O[\;KQ-V)A/1,'/NB7:L
MEIH#>NN\\:].DT9UF0K86(MG=J.B.8]7]6IE&'MGEY8TUA'X\TA_*.X_:'0P
MC5Y_AS2ZY@;D 4VB%7L"&4+A3T7=L2GCD*]@(58)\V"7RYB!$RR-$YT*.(@G
M(H)0$6DXP(%]DH<LX!YN::8B"'*BW#C&JY7-$;'PA#%<KVA,Q)\$%BX9-;CG
M PW6#$GF:1$:X$GMI1&&Q9@.*+[0#*3V9LRD]*>8OQ1:9$9H!Y$TH>"^C*=L
M*9,9=FCFPK,(R>X<T)2/?2XPS6>35=D/^_A?KC _$N"3"?#F?RD!! MD#(81
M60M&U<%^#,=C77HNXX :I43"CHR],/5A$ZPMT0<J&J :0YKG8!UE#&52&!8Y
MDY'1;*V-K/,E6:[3B#3$ *2! E?M>L8"\KB9L2!42Y/GB!93:1+-L1"GFPXX
M8-9+5#<YF!=P?[#]'[/]XCMD^WB#&3__U+IX=VDR.F<=(HFC"@*)RQ-S:EDS
M9%P+RT_P34[@(_"("63%))1F1C-H6(3B0 4"U]6*+XT7*I-B(M4-K4+'U+E6
MGO!QV[ 3$-,78+ICW^#9F_%X*E@/BOR8AACQ^;;E#6^TWIZ(T[QWH24^/^NM
M[V9M3)/4Q<<NXP@OHS)02D27&+393P"O5HY#'OQ7R(,".45B.]]AB9K#]@$Y
M7"+<NSW'D>P6$>CXX\@)/V5]87 HA*]L=?X\,>K4.7@\-8=/H0H^$0A*MI+K
M"52J80!2MY"&!+1:P3 16T-T#BJTMRS@6H3<ACGK"@K/UC-QIX<2.@PP1H72
MYXE%.H%22*XE[4"ZWL66E)@LI8;Z"9MIQC8?5F^5$0"40-]ITAS=N_32D%.9
MP+XLB*(OP0S7Y92[,_R:"!H()<=\X3OE_JHQGFS'^.!4>A'JPY-P7\2KE7+(
M:1AHLH"&8RXW*N:D7]R !-0^4G2Y]G-/(_:23V0HDQ45TEWK$O%L4*R_'64V
MAI;:3RN3S]F.YJF>(][&%G[/4]JW &PC.A4QZGF(L..)F!.?: BZ;!=:\$[.
MH2O?(+C>*1LL>)A:DM/&11"@39$+0#8[VHV\J!R0M.YR=P-BDQ<3D6_&M3D3
ME4)>]R(X1%?X>K2@+B[X?-?/)GE_:.DIG"< Z-()]M>.AH]4<QM]Z3$ZEV65
MR#[9%94C\HL$4GE>JLDKA1I5*R^M1LHDF$HOPF#+>#"4O8I@)[MQ! @O>+\U
M.(.-;E;8 R6=->-T#>O4@9IQLU9NRAC+!N%;+;'>R-)\A5/CDPBSP^76^/HQ
M#D+O_M)#!0-^O (YM"=^^W_4$]OW;WZ>C/5"*4BYRAE1B :,5"M'%,<7'4B.
MCJ,)290VZVID;\!B%,DD$6*_+$\4RAT]]B7@61LGR!N(H"&5Q?_4">7U4/R5
M2J"W>9W&GCUPGGXO?64/IV>J_A*!H;Z76G)/"G@QJRWK]FX)UE*M<,775@O;
M-]A75/E)FIQRN#RZ3@P-%^GA#L'A/F8:L=:;?8',F@W,0#C0$]1=P3*H5B:-
MX",XQ&XF$_F=+QV^43%"W]=#S0DTV%>'1X3-&?C4OFO+G%]WHBWCA0H7@I0[
MAI*X=X8Z2S,1S4.U$GBZG"F76'PCM C%_J)V1$J=;>OUE_XFU.UCVVWV&U\Y
M9?^USEZ?O[YP&4,?S38_6Q6BOZW%VUJ=RRNDN2SI7[16=.D3G]/];O:COUD4
MBJ0OAN88]A0(=B2&;-E]Y>#3GQ%;=&N"-!*ZN/7,["F-_71N_QT9T*9INB]J
MK/Q!;5,!OYHC=@'YZB >T$M+^CII5>=F)D7 !L_"2ZDE9_>N3GX#7)UA]^3!
M'960\R\0G7::PPT"YW6KTT1B6HOV1Z>9?>1V!&_2MW+<M)_8_P-02P,$%
M  @ 9XFI6,X';+"?!P   B   !$   !D-S@X,3$Y9&5X,S$R+FAT;>U976_;
MN!)]-^#_0'C110+8<9RFQ5W',>#$;FNL-\E-C>[=1UJB;"*2Z"4E.]Y?OV=(
MR?)G:N_V=GLOVH?4HH;#X<R9,T.Q]6'XRZ#=^M#K=-OE4FO8'PYZ[=Y_:J\;
M9Q>MNGO$>#T38*V;^^YO[.;][?W@_O&Z\NN'_K!781^'OPUZUY50QJ(V$7(\
M29IW2D<\K- <5BY!Q:V($Z';K6[_4RX_EWXR:?[K[(V,*XR'<AQ#AP@2.ZOU
MD(M%7(]E7$O4M'D^3:Y8]CQ22:(B-Q2H.*D9^8=H-HKG@$<R7#2',A*&W8DY
M>U01QTJ=0?_]W75%DYV5=NNFW7N>R)%,&&V:M>HW[5;]@7:]RX+&Q1<TP;,^
ML3;<]AZ'_7?]V\ZP?W^W-&*W%_;:D(CGI"9C'VJ;EZ^.LZG=K[(;+6*?ETL_
MG[&!FGGRJ<H\H1,9+%@RX4F3;=A4Z'\+]1MQVK*OTOXQ'IGIE55"8.O<#'JY
MJIO[QV[OL09<#3H/'WO-_,>+1F_NL,*<FNO*>87=]@:#ATZWV[][OWS^^-"Y
MS9]_[7>''ZXKC?/S5Q5GSR,SR2(4[)I5IGPL:B,M^!/\::0OFGRFI)\)=O/)
MEZ\J[%,63.Q[&5B'XL894JB;3UE]M39IU:-LW8GL[T+MBFW8U&<3/A-,BYD4
M<^$CKM*PWU.N <1P@?&IT@E3,7N'!&:M=_=WPV6Z3F0B:F;*/=&,U5QSF-XX
MK_V[52>I-E,!&VKQS&Y5-.7QHEHN]6/O[,J"QCH"?Q[I#\7].XP.AM'%-PBC
M&VX 'L D6K G@"$4_EA4'9HR#/D*&F*5, ]ZN8P9,,'2.-&I@(-X(B+0%(&&
MPSB@3_*0!=S#D&8J ATGRLDQ,-*Z1"P\80S7"Y*)^)/ PBM*#<9\6(,U0R)Y
M6H0$/*F]-()8C.DPQ1>: =3>A)F4_A3SYT*+3 GM()(F%-R7\9C-93+!#LU4
M>-9"TCN%:<K'/F>8YK/18M4/^_"_6E^^)\"+"?#Z?RD!! MD#(016 M$58%^
MB..U7GDOXX#:I$1"CXR],/6A$ZA=@0]8-."2J'D*U%'&4":%89$S&1C-QMK(
M.E^2YBI)I"$$D 8*6+7K&6N0Q\V$!:&:FSQ'M!A+DVB.A3@-.L-A9G4%ZB8W
M9LO<[VC_VVB__ ;1/EQ#QH\_-"[?7ID,SEF'2.2H@D#B\<2<6M3T&=?"XA-X
MDR/X"#AB EDQ"J69T P2BU <J$#@N5SRI?%"95),I+JA5>B0.M7*$SZ&#3L!
M,'T!I#OT]9Z]"8_'@G7 R(]I"(G/MRVO>:WQYD2<YKT++?'Y66]\-VMMFJ0>
M/G891_8R*@,KB>@2@S;[@N'ETG&6!W_)\J"PG"*QF>_01,UA\X <7@'<VSV'
MD6R( '3\8>2$G[*N,#@2PE>V.G\>&%7J'#R>FL.G4 4?"00E6\GU!"K54 "J
MFTE#!%HN04S$5A&=@PKN725P+4)NPYQU!85GJQFYTTL)'H8Q1H72YXFU= 2F
MD%Q+VH%TO8LM*3%I2@WU$S;3C&T^+-\J(V!0 GZG25-T[])+0TYE ONR1A1]
M"6:X+F>U.\.OD2!!,#GF"]\Q]U>-\6@SQ@>GTE:H#T_"?1$OEU9#3F* R0P<
MCKG<J)@3?W$#$%#[2-'EVL\]C=A+/I*A3!942'>M2\"S0;'^=I!9$UUI/RU-
M/F<[FJ9ZBG@;6_@]3VG?&F ;T;&(4<]#A!UOQ)3P1"+HLEUH@3LY!:_\ \'U
M3EEOQL/4@IPV+H( ;8J<P62SH]W(B\H!2>L>=S<@-GDQ$?EF7)LS4BGH=:\%
MA_ *7TH+ZN*"SW?];)3WAQ:>PGD"!ETYPO[:T?"1:FZCVQZC<UE6B>R;75$Y
M(K^(()7GI9J\4K!1N;2M-5(FP53Z# 9=QH.B[%,$.]EM1X#P O<;PIG9Z&:%
M/5#263-.EV:=.J,FW"R9FS+&HD'XEDNL-[(T7^#4^"3"['"Y(5\]QD'HW;<]
M5"#@^R>00WOB-_]'/;']_N;GR5@MF(*8:S4C"M* DG+IB.*XU8'DUG$T(8G2
M9EF-[  T1I%,$B'VT_)(H=S1:U_"/*OC!'D#$C3$LOB?.J&\'HK?4PGK;5ZG
ML6</G*??2E_9P>F9JK]$8*COI9;<DP)>S&K+LKV; [54*USQM=7"]@WV$U5^
MDB:G'$Z/KA-#PT5\N(-PN(^91BSY9E\@LV8#,Q .] 155[ ,JI5)(_@(#K&;
MR4A^YT>'?Z@8H>_KH.8$&NBKPB/"Y@Q\:K^U9<ZO.M*6\4R%,T','8-)W#=#
MG:69B*:A6@B\G4^42RR^%EJ$8G]1.R*ESC;Y^DO?"+6[V':3_<(7CME_JK*+
M\XO+K=BLZ+PXLE#8F[?UNZ^B=FQ2^B;EYRP-AE^M#%^TY+3IGM"5CW;VH[M>
M6PKN*$1S&_;4&7:D#=FR^ZK*RW>1#1H:(1N%+H:>F3WLL1_.[;\C<5$W]>Q:
MCBUOY=9I]*NY8=N,KV["?^]6N/U1Q!+$\@G%FCV@ZY=TBVKY\78B1<#>+5GA
MWE7T%VAS'S2.,JC5;Y\\N!,<%MU:_K15[[?7D4 7]:ZDMNI(=NM!^Z-5SV[?
M7=+4Z1(?@_;N_T]02P,$%     @ 9XFI6,@#H)%N!   %!4  !    !D-S@X
M,3$Y9&5X,S(N:'1M[5AM;]I($/X>*?]AY*I5(O%F2-(4C"7 3D!' P5?>OVX
MV.MX%;.FZR6!^_4WZQ=P2-HDURB]D\('Y'V9]3///#,>V^@[GX>FT;<[EKF_
M9S@#9VB;]E_E1MVHI@.<K6;+8'1'UC?HGO=&P]&DK7WM#QQ;@ZGS;6BWM9!Q
M6@XHNPID\R(2<Q)JR@;V]_"('N62"M.P!I?Y_EOFR:!Y6CEF7 ,2LBN.9U!?
M)E;&.-\V)^**\;*,%LW:0K8@&\\B*:-Y.N5'7)9C]C=MZMNQ3^8L7#<=-J<Q
M7-!;F$1S@G?J# ?G%VU-*)R::71->Q6P&9/0J(-1[9I&=:Q\?NC^>OT% ;@)
M(PF"'A62^<PEDD4\ALB'7L"H#_:*NDO);BB,?%RF @CWLK4SQ@EW&0DW:X^
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
M<_]WEYX(1\UE'!TO=SLO1-.R5SRR\^KC-]LS6>Q7(O73]\?B\X;(J'_WNH"
M\'=IU&2T.;# &($$&_CRSY[F=W:5[VJ?LU5EBD$.M0+TX"/>7&VYC"D,U/XY
ME]_2GR++MG-5IF2-X5DIH^)W4J[YQ \7'78Q'"L6,F;"+46X3_NHR)[_8:E9
MG_X#4$L#!!0    ( &>)J5@T'J]^.0\  ,^:   1    =')E>"TR,#(T,#,S
M,2YX<V3M75MOX[@5?B_0_\#ZI5N@CG.9F=T)-KMP;HL4F4D0>W:W*(H%(]$V
M.S+I):G$;M'_WD/J8LH294GV*%,H+X8L'I[;1Q[R4!3U_8_+>8">B)"4L[/>
MT<%A#Q'F<9^RZ5DO5)/^=[T??_CC'[[_4[__$V%$8$5\]+A"E]<W']&OYP^W
MZ(9)A9E'T"7WPCEA"O713*G%Z6#P_/Q\X$\HDSP(%0B0!QZ?#Z#\YT@@>C@Y
M.(2_<'7X7?\#7O6/#X_?H'\<OC]]\^[T[<D_T7_N/_RWW]<*2&]&YA@I+*9$
M?<1S(A?8(V<]2Y029&DD:"Z')R='8$M M$K77,POR02'@3KK_1[B@$XH\7L(
MC&?R5-?;QLA09HB>3PZXF +)X='@UP^W(Z-?PC*@['.&>ODH@H3^9*"+'[$D
M"?DR1Q]S/WK__OW E*:DP(B6L*8Q'#:]K](*-O';052XUJ*$[Z^WEA*A[$\Q
M7J3D$RP?#6E<H!UWDA![/&1*K+(J2.(=3/G3("[,5@B%@$;HJA&79JKXA!93
M0T&&D"R]63&E+LF0,DP]64QKBC+$DGK%I%"0(00/J=6"R$+?F9(L7[40#L90
MLN&#A2">[J!.&-\/L/ $#PA(]52?+!<!9EAQL;J&_ZE,H?+:P<VL8D*Y#$F+
MLNHIL5$AHQT4#W2QKG/8/SSJ'Q_U=+_'C'&%=?0P_Q8+RB9<7^I.<:IM&4,M
MI"\^/=P4=V-C\06','>/I] S*'AH_3=EYA.(5=2(.H)>#8')"FF&'ND*WP\V
MJ1,&H23^'?O!7 ,6$FH:S777B6O%)$4UU@RKT7LX\,+ +6"0\5 SES&?,& (
M%Q##J:\;UPAL,D%5WDTN^!SLG $-?2(W,&[,4^\VJ.D XAB\GU8U2,2\D<U\
M32+1W01E^*-(0,>!.\>!'AA&,T*4+($I2^< Y:0:*#$O%#%[!6#MV'L,HYB:
M$45!FZIH9"LYH'G3!!KT38;W7SH.5294S3";$GG#1HI[GV<\\&'V>O5[2-6J
M:K KX>  \6WMH,<AZ$5R$&7(EO1G%,EZQ72-"):SZX _E\7!8GH'7N\:X05<
MD6';'6C.0TD9D7+(_#LQQ8S^VTB+<' 5%CD=,J-XDD:E%W 9"@)_$@X(,Q_9
M/#KD82PI--E[RY38NP4%3L\>YSRK:^M6:]?OCE<?B <F!*NASQ?0DX>>R5PI
MFT*79CX6?AQ**M Y?7ZRZ?.$&8JYH34[E/+K#@8?R7.!/S]R]7>B8@]%(%0A
M=*+P9A,%X%;H> 0,$7!,T.D.$#?L"4S@@I*XU=LWG(Y]N^E8JU9W? ?A<X&I
M?[5<Z/F!&>I@UBV&4J9I63F)T[_O-OT;\T$)HVA0U*Q0Q*L[7O^)<_^9!D'B
MRQNPATWI8T B3WPD*O)]%4(G M]N(I!PLSR_9AB#\%<(,*H[2$ D%2')->Y;
MBA]I )HF(:4"G1.'[S9QB)D5]02+87= N"2/<7LW5TY'OM]TI";OCIMN"99)
M>XRO7:XZ.MQT552A.\ZZI@PSC^) /Q$49MT\=EUAB=.1N9PNK8ZL^MWQJVO9
MJ>)BDO%I+IOK]OK0 X&)9TBN!9]?<*8$]I3\A:K912@5GX-+DEQN&YG3X06I
MG.&%-#.4<D.:'4KY=0<!T_[.L5ERF^LQV5JG<)0Y?9U+V R#ON& ;!;=<6_T
MP&N,E^L$;7W#Z<B"!$W70J9:=YPW@H&;,QRL(ZUUP^F\7/9EU>J.[Z"[S:DR
M(S3,V'6<HVQ*8/0FZ5*[F\#IVUQ>97$Q4_D,G^YXVUI &6/(*/.K,?%MIV=S
MF9)5%WT3U>[0P\#2E1?;Q54(G4[/955;%VHZ",7V_-_&HS*U"Y3C7/Y6;<V@
M@\A$B:WM_<P=IX=SB5U4K8,>S*=NMC>=I4[/5DKONNKG7":1\[6+PNGO7';G
MRC@ZZ/.2"9[M^.UD3N_G\KW2V6 '(7!LHQCZOE%3K\--N)B;FY=$81J4;K\H
MJ^<$*9=+.G=FZ*$VE8 L$>B;2$B'D+-FWZ-P/L=B=3>Q[ME@52-UXI-+5^V)
M/P2TB*7>[Y')"#J'2.E$/W5\*96-VO[8.9'-)<O;LXL,WA62D<ZU@@I/A;=&
MUQUY./'.I?"5'SJ_1MXZZ6;:.[>3VK!_"<;.MI!;6:B8Q&8"0-7$MW-M1#_\
MWMK-MQ&YL#O)+4!H3J]=='/=82L V\F<$+A6*%Y!V !A%"X6T:NU.$CVQEM^
M&?.[A7Y7&)*PB#Z/3T,.3NAR2R I=+:D:,O]!&1E8%0<\40<"N)5J8Y"^P&K
M4)@(?S?)8N 8X.I7<X*86U=)05RSUR-4*B BZ/BPE%\OW!HCZU5QXE7\Y'US
MW?$U>I9 I5<+P\BHNXE^Q\*#:=\E#4(%$T$L&#1R>4_$:(8%*4>P 2<GL+G5
M&P>PEDS=+XU4,UV,Y:)$, +)R(A^15WW-J:HKUU$G\B(>'%HNUIZ0>@3/]IP
M9*%9KR'LA[FS;>0W.C@ZO:4&6NN!$D70)-H*E6E!K^VERO:TK?%])PY.Y',K
M2Y4VM;W&_VT/I*H-U[6J.3',K18Y'UV]PK8%MG3=IK@X63[9#F0]1DYH<XL_
M)=!:RSU.JG3]YQ7P#9R&4H;SA;XE/P'-F%])1:%WD&M,Q<\X"(D>5KW9"(L:
MZ-?GZFH*;W)K2=6:@J4!TBKHQ#A1 FDMD%$C&JB]&1H-'UX;1[5._)/ 3.T>
M"S)LG/#GUK%VC 21U Y";6V;WCI(5Z1U@I9;P;)W7[^.QI5VF&P%J6%=)VBY
M%:ORO2BO*%9!,8V!#\3C<">@<:JJ@Q)F*_E )/6A)L7!O>!^Z*E?L- Q:@4E
M1#R1BI#O39"S?=3<JY0)QUFES($QD5I_ELA2#,6:H40U%.O6P49UP[1;Q%A@
M?8+I4/MC2JPW$4O*G1 6O!5CF*"8"[+9_)^[6O_H@TD?R 298T=/]9F,9SU)
MYXM GREJ[LT$F9SUM.?[R0FIOX%)!\MYD)!HSB6GB1JP-KT0"TY8Q$=5EA^+
M"DSTDQN]L#1(E.^AP1X, H_7-2@+TM=E3H ?ZYH#54CP]5D"3;NN)1N]8<_V
M#*Q320?9\TK!&"X48H7G%;L.[HV..K[EGF%34D7_ZR?U^OI6_^BX?W)TL)1^
MK%L-!=96U5,@J5=3@>*3B"N*3BIHF6^K2'.<4%PD3B;*%=89D$#)Y(YNE">5
MC2T^\[A4A:(JR9^&PK/')U>3;M=)_S63;QVS7$EV2F^NFLFTCVNN)'1=(;IL
M)G9]]',EH0FYOF@H<'TD=#6)";VYJBPS?ZJT";*,3+$Y@:M*'PZ$R-32'?F]
M#AY'[W92H6((L<2KG467GZE=51V;R]6:24WM'(>?5VH.";F^J-P87,>7[Q!9
M#9OZ"FP>.UY-@^1<\TAZRJ.1^!T%-^I_1>>F.S785M/\E_5CNN?W9?A8*ZQ[
M?FQ]5+?A8!)S:2*T:;1[-Q!ZZEAQHF*H=1]^US\\[A]_6[M%ZYBP:XLV/#8-
MCC^-8>2GNY2MC50%NX\OS,BOH@?XD/DF"PX]%,W=S;<I3N<<@BH6JQM%YCJY
M["'\*,V3X;/>! ?FJQ>&$*;3E/MC4S6:Q4*X9#0(]/M:>M8?QJ?)Z_G_;SMJ
M"&U,*JK":!&=AXM$70IJ)AH]1F=BG_4\07RJ"CUU@1=4X< \' .:4.B#G>/C
M(>4]7FGE]^ 0/Q0&Y1*/5--D;X8#1[/$<<W%O> >(;[4S_WCTYG8]()+O<S2
MAN455=F;Z17.$QW&AF4= />@1I'YD46-K*^ES18?%!A[2:0GZ"):"*T@:TR6
MZCS@WN?$]/1+'Z<J*=IW ]A!Q_H.B5^(2L)-'&/BE['2A<&7<$-MS>H;;YUB
M\[*V;E.D,:[Q-H?L2W:Q*\VKPR^(;!W=&F +\PD_#$CZYE'!X!H+VSQ(XT5:
MP%[4;> FZP4"ZRC#].'=YH;W%_30KIK6=TX,Q0?,0IVYAGJ\2S8.Q6"T.3TL
MUV-O$X+A5!#S?[BDLH4A?T.>PPY?G?ITKK]YQ-F-$["$U26?8\KRK=,W][^4
M 8G4^BWMFD[4; @W?.,(YC\0J3^GX:>\/Y#Y(Q$M651=G?JF/I G'CQ!,SJ_
MY9BU:E:QZ/HF7)C.<XWU\VNUNF.DI9[BD+M+C\FQ;+7G.*4W&,B>P=\!9>26
M*$7$W23BW6K[VJ)#?:-N@5?")?'2>I/-.1>":Y&0+$-A2VL5M77:V\!T2V"*
M2#9&><=[Y?FY4CO.V5'%O?G*GBW9GUFS)DPM9O6UM*G?3<;/?#SCH83L^(I.
M9XJ0Z&MD#V01"F\&&-P+/A5XWFHTJ*W53H:/G^'V:CR#\?GKLKVR8@W&83Y?
M0#\V7S$K?BDP>>]KG%^Y_#(C=%V-W&/W#&0*+WPDSK';N'.XT%_&C;;1/>AF
M)ML=\LIU^)*8ZH%(6]/*S*N)5@U6;8@P 1'BH]FIKJ?=@GKF@WW:S_Z_0JE:
MSP9J:[5_PYF_A>(3HRVW_/VJO%/LO^:A2(>7&Z:_JT:?R'W0<GI52Z/Z!E_-
M%P%?Q:/(?3*&M&WD5BV^1.,7V3OA5]C8RU1LT+@A<2T2A)EU1[Y,QV^H6X.4
M5H\G^3=CUSNRSU=KDOBQX? 9"S]]I\YZYPT@^D#4C/L\X--56_.A+V_"3A.H
M+Z==FY.3=LS8>US[ZH;L70=D1USX>B+42\6CCYS=1:TK.D##^M25>?N2^+\0
MDR'[PR<B\)28N_>@.<E[;!%/M/?^?.E%K&LP#5IZ1,HQ7IX31B8 J-X=LGZA
MUJC4TE:5BJKL;U$K?4BZ[83M-J)N#65V&:0T=R"A./@D2:MAI%!RDP<^Z>M\
MQCTO94X%/78R[@7MV<F$*S;3/>^2>)_U>X/,'T-\DI"R^2,@]%1<#@4C.F7Z
MK#KR@&D M.TF7CNKV62#D.:\%@D#*(1PB8-K+*'IM+O25DV7!D9NN,MV[46
M?;]MI.LHM+NY+VK:#K/-Q"-QBVAW@ND0OLLVK9)1M-5DJJ9"C=(BO1XVTD_F
M%7W2IQO.]!SSQAR&9";KH9A@CUP'6#L7FCQ=FYZ9"&L^>]^=UU"])M$U)R++
M>N,\@E:>X-97:F_3VX3SO5$X:VT"W+[1WI399*>I.:%!CGC@W[$[,9PH(OZ&
M6:@/GV#$6A0>9AX&MIOY[ZCD;FZ!7(^+,?^:G5)?Q29[34OZ4;O#<!5-&F.>
M\'L),#=E[XK2"\+2W 3W22@M[GFIHD05TP;1FW$__ ]02P,$%     @ 9XFI
M6)=^([&3"P  AIT  !4   !T<F5X+3(P,C0P,S,Q7V-A;"YX;6SM76UOVS@2
M_G[ _0=?[K/CO'3WFF"S"^>M,)#4@9/N]G X+!B)BHG*HI>4G/@.]]]O2-FN
M)5/4R'8D.EF@:%.%0\[,,R2'PR'YTR\OH[ UH4(R'IWM'>X?[+5HY'&?14]G
M>TD<M#_N_?+S7__RT]_:[4\THH+$U&\]3EN7U[W/K:_G@YM6+Y(QB3S:NN1>
M,J)1W&JWAG$\/NUTGI^?]_V 19*'20P-R'V/CSKP^U_3!EN#X_T#^"_\=/"Q
M?4NF[:.#HP^M?QV<G'[X\?2'XW^W_GMW^[]V6S$0LNC;(Y&T!0Q'\FQOJ8F7
M1Q'N<_'4.3HX..[,"^ZE)4]?),N4?CZ>ESWL?+V]N?>&=$3:;";%@DI58Z([
M/#DYZ>C?0E')3J6FO^$>B;4*2_EJ%990_VO/B[75I_;A4?OX</]%^GM*!X*'
M=$"#EF[^-)Z.Z=F>9*-QJ-C6WX:"!F=[L: O6I4'QRGUWR]XY--(4A]^ #28
MKW"\C^%OA9CL!Q=\-!9T"&78A/;  D90IVKORZ"7$4K5K6%4O^RL5V_G%80Y
M)Z'"[WY(:2S79CU7RVLPFM$.D</KD#^OSW!!;1LRWHLF4"47C,K[9#0B8MH/
MEKY=TIBP$,,SLJ(-V;T3=$R8?_4R5OJ1W<COQT,JNE("BHMVK:7P(FVQL0W%
M[GJ>2.A*&S>,/+*0Q<LZ+R^*5\"K-+NA*FXH#)G0[AC*JMY PGEGZ$4!%R,]
M.#_P_EC-8#"WI>7Q,F]6_U:$NR5Q(K3.^D&VG;507*-2+89'0B\)M;PWP'1&
M'/H24QBC_+E JJ&:#4F["MS+L!6JR9F+,C6K+[_/&EJJV-#612($&,'5BQ<F
MRE/ZC0A!HG@Z;R$DCS34[?[^,+CZNFFE';102M42=*W]BH#(1^U<)++]1,@8
MG(RCXPX-8SG_HN0_UK+//LPYO27B&U6F<,%E/.?,(!V.+&\W79$5A0AO7C?\
MN&(T62=I5J(CE6FHVMH,)L Y?2#X:'N*GS')JPB;2.">CQ5G!/H,%SX5X%CO
MM9XI>QK&^L<: ;V" 89/*8P\H7(75L6VH(J@?6/0(B0VXWNT)K[V4>B61$E
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
M4+;B5P7GA($[KWI79J[N''#G+BEC$#]=-7X>;9%$^PXVA0EVL6.YA/-4\YJ
MT6\U5H74T0D;8VE$%(+,IBKH[(.E90/5X<6G?<NS_ *=9@>V'G51NIWAW,NS
MESC]0.@19:]1@,A0OZ;)*^S-4'U,S<=I?3=T\?>K-"^^IL7?43%"0?J<8(S+
MENI*PV**LO'43X858N:;1;9D\HZ.K;ZAIK<;6U8KI;L;3E+=5<.W?I3]ZL<E
MNLCS<E;C^H)@0(??..FK]7P1=&HUKX6C,ZZ(TBCA)H9OTW5%6%^LO$OR(BNK
M ]OZ:/L%FBCRNZ1.0:RC9TJ* %JW_Z")>UVUDQ8I?;<Q UH(>GTL9S,_^X!-
M#O'/-^_X1Y3_"(-=[U*GAA.5;E<8[*F%2[NJ6*5,%&J5XU88K/[0M-/O*S;V
ME'X1=A.W"U=7OXMHHE/;GB@"N2:#B$ZI+JT?6;,[*-,5*[7U7N56\+/FB")=
M+]S:C#$YI3[B(*@0C4]RPC@@!;CXR<IO<L'8PTZ-><=G^\>ZW(%NL:Y 20I"
MGSL'IV;MWY0J@E'I;=:0_Q2S@3I=Z8M=7MBW\:<?FB?SN Y03C70AI5T?U88
M%M*%"T'#%W'5[JKO@6!U8ITNA1H P%8]WGHM$C(Z8$<,V[0[KECZL8U_G-[D
M130#6 M? $XC$$P?_4S1$W9*O1,P.&L'11JGSQ\LXZ.Q;WO'<K$/YM7$?%5/
M]W=!/7K6?/HS?.98)RP*9O3Y)[-G'A]8C LU2:N C;/2Q0\;IYJMW?&!INUJ
M1QMG1:Y!:U2%_X>-4YDRW;1Q6NA5?R8;Y_&AU7R"^B:&KC;.2B%;D2%"4;C)
MVB,/U1^O5P]5#@06<67T!J=GQV?V'MNSM6UWEXBMR(LAPPHVDF![YW7T&H4H
M"4< VU0T*.G;,%/9>^AB:_N[G'9=>-E2*=11E/]QFR%T!V=O;,(WV8E)WP8U
M6WF!\_OKQ'3MNF#%KW \\:$^R8S7,<IF![S>J^6CH%@KR6C<Z;8:U>K""Z9:
MUI=?TQB:B6&_96/OT/XZJ-I*NAQW>K )_7*RK[@7Q%_O]LV'\!>@,JQEEE>,
M7K@Z=!R;?BM@+@4W5+Y5L!;51L@[76LT4PE1[C^9]P;#UI183"X@G<*&@-.E
M@?##[Z+&O%CITZWP\H9B@W;R1@L_'# J]>FF#\9:]U+JB9&,.NX18[P:+%L!
M<3NTK,_P)T21R&A%7S"Y]NRU&W#<OJ6OF.0.RG'"(Z#5F5HA_?YN#Y"[@;Q:
MG+"F-_OHJ]C/\_DQF',BH-:IM^';=CK@PW'!8KPJ''='MEFXQF)[E\Y7-9DB
M!AX7K*-JN'%EKZN<)&Y"P!\):'2E3JD(L+L"2]O93.M&18)IU1<!OJ:-T!NH
M*A2(&'GR #M.]9<#>LA2;W6L>+2E^Y]])7%2;FOUCMPE\",:^^\H=^,QSX5
M5VF"<V.C)%@ZLQA3*[.>=W)HULA.DH;G(*'6 >DM.$H$%$J>R#DXMM9Q HCJ
M%81S3&J5JP;YN0-'(QXK1"K)4%QPH"PDX^Z[UTK6*&P?B,B*Y9"P!L %CT-?
M&EPY^_3GPZW+$C=^%D<H+T#6OR,_X]KTB.5K9%9M]K2^3V:&C<*%RPSWL"D5
M9X50ND9CU<0NQPD+@PN6\,6Z.$]67GP(/'A"KU1CTW/RUK_>"^!RP7A-%I.[
M!+&JU?@T9;81WA8(Z%^&N#5H+IBS]5'GRE9")X>\3899\W<58@^?'Z%7E)1-
MEOT[ 1<BIR9&>[)O]6$"H0%%XU$,G!-&\6LT05F&0HPTSU&1X[#>VO@5Q^D;
M]FLS>!2H#<N-U=U*9S.&,#8G'BI<P)SG,+I$"6B[$)E2VS4 DU6_07^S$PF/
M$Z\:#D&N^4:8P<M**>]DX,8D*,O%!@8G7C.\F4Q0@)_#6N#"-Q1J;"7  ZFS
M:H SG^H1;J2^ KR=DU\'E"K>/J3E.7P/4)Z#$/,QG=\"TN7%C?H-'IK_2ZCR
MXJW@H^T:<!T1<AY+U.IQNDIGLZAZIAE?65H"C11YH&@NV44F>X8 +$=3AU:\
MDS,E:>5$/LI.$"?< HAL/-5;!YT21H$LQJWU0]VGR3.^)MID*UW"O?RX@EGZ
M.<7WVK"RFA(\CU7'%D&/%I^HZ$8ZV4;9![\+WC Z (KX7(-+QQ9!)9HNA O;
MT'J1*=L_!)3A@IO.J?[ABJ'.K8YBP'^89\5*9X%_+3L*_,-[R-*P#(IA-K=8
M418-6E'O^.3@X,!BI(."!8&+39L/48P;C&0N5DX=HLSR-1);X0]<_5+I8"#1
MYD4TS(GM>5$#.;Q)3<GI*'I._*+,T B.B3#$099QYB=Y (?2J]B'(V7RS+[@
M)MY"<X@^W;?R!H;8>""=C;HA5. PI%TV;;Y^C8(_N 212R]$/; 2:-R9# $T
M"KQ[M-&"8A04\R^#V-^2Z!5EN1_?^GD0^9R!(E)Y"<1*1M7N8T0:G H''LWB
MF4RQ@VDIS:+3U&+._XX!K@UMSM,O/=M=XK<2%M:97*6X=5X<D6*3*>OQ\;X5
M1YZR18J Q@DWWB^E7]WL0,.G.'JNO2"7'U\KT3F&-EY5[T33TTNF+6IB0)WP
M"I)$K07E&D%X54%#FMQ)PM8P,2+$2=R$I\+OYSJ)MH]FIMCDWMA5D9%DA'*<
M7KB(_/A;CM@K'*FL=W)N]6:AV+ @+'!T,!1MJWA"$L_B,/6+*)M0%,2SDN"U
MMZZI6"BJ5F&)6.&W6C"%%<^MN#R5;WW/%P!(H<ALH/)FM!_>!0$0V,_"!HB?
M/U&L >B4>K8(IG=\,G I!)N-7F8+S-TVB%0'?=E^FDJ&EB[$K@*E>,+-!C0;
MHM65':$Y?GE[0[D;]C3[1YE-_ #=QCZVT_SFXP0,Q<=<&(XQA%_5.]VW&HXI
M/I1(YA%1?!1Z%!A). ZQ$4Z6P? :+_X.&/68#TWZB=?04+2NP)8AHG7JT%@K
M ;)J&@%"OM\UG5&4NBHJ1:WZHR&DU6I[1>BB7^Z<;O9V]&+P%? 3/C'4,>:7
M'P+;;6Y=[VQ_<':DQV]K>K,M#I;"J]D[UA1QL;#\M'F\NC54V_ML<4:D&"7
MI#!J]@:V"49M3ZBFJ>5.QH:?JBI?7N*/Y2S%2PY+*+[TW7T?TRX7(X4XPV\V
MK4NYS&+'S^W,J[N$:WO&Y9(AR"$3(25XVW#B4D.$NC+A&F"6-]<.5!@SFBB(
MQS0.A\DPNY@4*/LO/RGQPU,)&K^EXVE:YGX2XH"4-Y#S8PP-<NP<_5I=Z.#
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
M,)^6]D"3:^.X.].R+2E;K:I_$-Z>7"5HD]\[ZDTD] [YTK#@5Q!7V5WZG+B
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
M_\N_?EP1]ID=7?.K[1AUVS)!61?]H,,Q5&(AZ6?NI'+:UK")@S3<:G+JE#$
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
M!]>4AODG)E/]L=,TUSZP#"&&LH5=95&2CY9TW*^%5)2$DS8T1Q!#^Y9/$NO
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
MBXB:UFPH$)7$9D-1"*)?-_2))GOZB<E[RC- ,OW^.2H>3_=YD6YIYK#6.O<
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
MW_;13H0B< :".!>94@JZ99LA3Y?-V&>GA>KKWX 7\ZY'+?N5<C%$42/GC=%
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
M[<1-'+WX0,?I^_>$Y@6M,D.>S%/_I;@_*T>FWQC@'4XT)8<-K@&P$5:[ \0
M[L)/)6;==2%G-$:>-9O2Q"9]&YG=X6 U$P--\ ABRI>5^^B6S.'??OYJ[-K*
M?1^9FRFZ_C20B&SL,:MX_<C+[CBX<P+=G/LYT?!S0'+&0^]D&<6I_Z?,0*12
MW1F-L%^9[441V$JH+B&[P_%VTJ.7;_2>DI LA#FN)#5!.-@/VZ*JCX)P[ [Q
M:V:5WK7*CD;(7E!,/1')Q.[+I5]</Z3BFH5W;D!FBXV7AJMGA@7JHM8 B K[
MK65$]=&14=L816S'1YZG?27A7)SEG"K0(6X=$ GV:[Z(:B,12]MX2&Q- 4@T
M6I><D^*_=3EM/.$JT!SE-D#.R(Y3LZ<O3>!=W:'%TI356X\P"HG_(KGBJ5(=
MAA2R?F@RJJH6/*BMHSJ'-WU<A2\@YR@6/[@@K >R07:7=Z0&.QA;QX8.C_^;
MF#R[OK<ZU)6+Y>H]4.GSY<T:!&DB.\L[TAAU\*UC1X>G2EMO"3=:7,JZ("-D
M?U+'*\L&3LLC1)DH.0\,KY^J4WJ\J6W3SF@?^0I0=WJD+0;+WVEGK<^E!9*L
MQA.<%V:+VJ\;;G5U&@;9(OL2.MO]Z H!]\7X'F,HC,1..*,QLG78[.E:%[FQ
MT%.<C/T<N/3,D)B*N!$T!DP,)=[43,2-%*OE4:<PA^86T?OH9/[/S(_)AD$;
M5F\5QX%Z(S C(^M'4YXY(3N:R%N'MV*?KP#?G! ON03!,CP@J@JCW@K(#?G,
M95AC=*&;"JT=UO:%(3TC"Q$LXLC[7K/JHHN<$S.H_Q#8H+8O9292,]L706/
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
M$>(P6^9SDZJCI%E#  #9?L"1*6/CUQ"<M>-$'LG7^V#I()YO-#)Q)JIF3G[
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
M^Y05C<\6].VZ^4GHG?M!1KU$;DP30"8@B%P*O5O1=[O[+4I5HL?%%9WQ\<C
MT7V]8>5);B4XGD6]23/0>?2[E7+A,L[KC7#:;8<_>75C[QX^(#F5;Y0#X$@Q
MP\UI8D^K#%B&;.YH$2XY\%.Z1E YD3 IN8EI9J'<*WOZOBY3>FIS.:R%$7HW
M@1M^<Y=$S5IO^'- !/+1CZ$7 L-^)_ -.01,9WC*+_\]0Q_F?@XU3U>3B.V^
MPDK.9 _[B9'..&2L,0JR0'8#M,\>1V"=]><P'>=@N;HA+ ^BP,X&VI-:*(@!
MU1/0>F\I,@@V;0H$B:0>IK8@[9#;?07N&TV3!D<^<ATE*KDUF.5!$$CN@7;4
ML4>_ *(A'\$0N%;E&*8]Y-A& 1\*!!;]-V3BKTO@2^9[--5@KQ1NO;NQ:8^>
M96F2NJ$'"E\, _EP;M0>R!XI'J2+X=Y"!'9;^+6 F](A!STW9 N^#2B0,X@<
MDMWH3CD(=X"?>/_(DC3?DS><D=1;!J*0W N]S4VZPNC, ]&/JL%2'J\>7XJ6
MRR@L76\I'-$>LI1NZN^CW=-?[7 HT+;VC<. 1C:Q&U$2MOZ9$H^Q^V>#6BEY
M,M9?*WDM@?20XZXZ5*Y&LC"56A-MY=SVD\IV5\SR(%:DVZQ=K'("B*8NFPV&
M[E),&H27-4#]D>Z>]D'Y!D@.Z2;>Z<&X8QBFOD?A^2_DCLS+Q+H7;_,@@V8O
M0<P;817H<11-;R-.]GI^27+^1+PL(+-%2PE+<_0:_9 S&2$[V5B\<5RJ'2"W
M/$BCG1Q..;.!+.2CNZ\"_=A)4#M0,DZ(2==BM/N2*!N=4NB)K*J#_MQ<Y]SK
MJ-RV8%!OG XDR.#@<.\8.T!<C2V=F($5*D.!))B1X;N1,G<GMW=2MJ5U0:C(
M-HXVM"O",Q0VXI&%'_IHWL>6DZ@H^L3T)T#LV,\1VK*OV9*9W?$L+64A31UF
MI'T0-/9C5T95IA.UK(NJJ[B;SLU!M^2%A!DIP(;Y@3OYS4^?SK(DC9;0G6%D
MH&)TL]Y+!6.08@M Y[3GS:FP7X4V4M=%DM!\>-Z]^]8<):NU=;I\Y'.V%D.\
M/6X[^%W9?OJQZNX&( ]B[)[[R3R(DBR&G4:]=[<DH)D5SZ($MJ-T0GVHN6A5
M0CW;->Q,QOUFIUOOMYJ'BZN;@EM^PYE,D+>G)MB568V-"&F !N,D3FL:"?]:
M:R/\P[FE\#@FW8V_.P>'HQ%VZE##=&WJ!!ONL!Z14V&3:^;8*E% 1'+PL(7-
M(62KO]:^ ]?LVNQDC)W/J,M1)\!L^XVV'^%.+?H[3PR]X"SEG<$W9! U?*?V
MAL3Y1CZ<%XBVC/H4B[C$]]"77<$U^0UG<O@CWMC--613(SL2G=W&SH[],H<_
MXK5?AFYIBL20,;+M7;*&4U@5HMMNEMIJ9FWF&4*FX*',1R(A&;J1V/^&^U<
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
M%B2<V(&V3BDE3S0KJ[N6$?*8EQ*HR+L0($<)NH_$XN6E+CUJ=U'@S<)9?+*
MS<5_N&%&WQL)R?UK=/\498D;>M0E^@J@WN^A0<EYJ5VKE<!&R*X'/6H9IRJ#
M<N H#EKH5QW:3>Q'\7UD5&UTVUP+"SMGGTFE:24%CLI8D&3CT@]=6'7#QULR
M)_X+77IOHCA=1($?W9%'A=V&8@O.:/]X-,%]E<O([D,;+T<Y+$C)H0!5>@I1
M;J,4&'*Z,VUV&RO)-FJ.FJ %OBF-EFM!?HX&K<"X0XIY,C!!-,;+8;XGXR&'
M_I5AFIOJFE'*F>X-?G[?DCV#0A8FSCV=GNR)_)=NY@#QCH2)G_HO?OI^]D0W
M0%?AZLG&35_#6>#Z_)':K#40#]*,;9+R-M@YJM%31!LW)'T'B=#OQ(].UVL'
M1#)XOXY<'9JAYBB"+;=$3V+BSA;7<-P1[.;6A?*-RQ@KO[ AMD6P.'2V,B)B
MIFRHGK:%+6D$OPF*1Y>*ITC=\#VIA2:5!^,M-?^+Y'=87WOK!^66L*]]]R%_
M95F6Q%U8SYF.D(,=&PB=/3@5<-J=Z*%;;^\4V]JOP%]3!^]48.BWFWQ#'MXI
MMF%?D<.FOMTIWV"/&ZJ^I?1*UOC-PNLD4LAF=D46^/9U 2Y#V1(ZC%[4"5=<
M1>]A7<ELSQ@?CZ%\"(.,.S87CHYV0;OU8JL#T%"^A$'J@ID8]"E6BILF=#91
MB#I.0^D8K I!Q\XJKLZ.=)87(#24BP%IH//F0I'32KFN@Y99I?54KXC-[@3S
M=ZD;>F[L;8$]F<_CC,+A,B^N"*)!3C2NR!Z;>A5PIE(T/.?^,_ABG Z-_IN8
M$%C^Z";Y*IS'Q$UH.I+\OXTU0] FR!4Y_VJ'2B/%;7G*!PGZXG%7R3/A"@V
MK 9JIS.A(QL@6V>!."X4(B2/;EJ6'9!*M%A;]I&M=9VN+?O\Z\O:MKIB;;D(
M-\AG>M<^T[X^P&3T;_\?4$L! A0#%     @ 9XFI6*'_#O5\Z@  2C4+  \
M             ( !     &0W.#@Q,3ED,3!Q+FAT;5!+ 0(4 Q0    ( &>)
MJ5@,N?;"B <  &D?   1              "  :GJ  !D-S@X,3$Y9&5X,S$Q
M+FAT;5!+ 0(4 Q0    ( &>)J5C.!VRPGP<   (@   1              "
M 6#R  !D-S@X,3$Y9&5X,S$R+FAT;5!+ 0(4 Q0    ( &>)J5C( Z"1;@0
M !05   0              "  2[Z  !D-S@X,3$Y9&5X,S(N:'1M4$L! A0#
M%     @ 9XFI6"Y0 SFD#0  @@X   \              ( !ROX  &<W.#@Q
M,3ED<W Q+FIP9U!+ 0(4 Q0    ( &>)J5@T'J]^.0\  ,^:   1
M      "  9L, 0!T<F5X+3(P,C0P,S,Q+GAS9%!+ 0(4 Q0    ( &>)J5B7
M?B.QDPL  (:=   5              "  0,< 0!T<F5X+3(P,C0P,S,Q7V-A
M;"YX;6Q02P$"% ,4    " !GB:E8/S.I]/TC   ;, ( %0
M@ '))P$ =')E>"TR,#(T,#,S,5]D968N>&UL4$L! A0#%     @ 9XFI6"#9
MT23+5   '=,$ !4              ( !^4L! '1R97@M,C R-# S,S%?;&%B
M+GAM;%!+ 0(4 Q0    ( &>)J5B#&"4V<#L  #:^ P 5              "
M ?>@ 0!T<F5X+3(P,C0P,S,Q7W!R92YX;6Q02P4&      H "@"! @  FMP!
#

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>d788119d10q_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2023"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:trex="http://www.trex.com/20240331"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="trex-20240331.xsd" xlink:type="simple"/>
    <context id="P01_01_2023To03_31_2023">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="PAsOn12_31_2023">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2024">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="PAsOn04_25_2024">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
        </entity>
        <period>
            <instant>2024-04-25</instant>
        </period>
    </context>
    <context id="PAsOn10_26_2021">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
        </entity>
        <period>
            <instant>2021-10-26</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2022">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2023">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="P01_01_2023To03_31_2023_StockAppreciationRightsSARSMemberusgaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockAppreciationRightsSARSMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2023To03_31_2023_RestrictedStockMemberusgaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2023To03_31_2023_PerformanceBasedRestrictedStockAndrestrictedStockunitsMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:PerformanceBasedRestrictedStockAndrestrictedStockunitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2023To03_31_2023_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockAppreciationRightsSARSMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2023To03_31_2023_TimeBasedRestrictedStockandRestrictedstockUnitsMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:TimeBasedRestrictedStockandRestrictedstockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2023To03_31_2023_EmployeeStockPurchasePlanMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2023To03_31_2023_RetainedEarningsMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2023To03_31_2023_StockAppreciationRightsMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:StockAppreciationRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2023To03_31_2023_RestrictedStockMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2023To03_31_2023_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2023To03_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2023To03_31_2023_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:ProductWarrantyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2023To03_31_2023_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:SurfaceFlakingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2023To03_31_2023_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockAppreciationRightsSARSMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_RestrictedStockMemberusgaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_PerformanceBasedRestrictedStockAndrestrictedStockunitsMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:PerformanceBasedRestrictedStockAndrestrictedStockunitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockAppreciationRightsSARSMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_TimeBasedRestrictedStockandRestrictedstockUnitsMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:TimeBasedRestrictedStockandRestrictedstockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_EmployeeStockPurchasePlanMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_RetainedEarningsMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_StockAppreciationRightsMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:StockAppreciationRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_RestrictedStockMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="trex:AgreementAxis">trex:FifthAmendmentAndRestatedAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_CommonStockMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_MaximumMembersrtRangeAxis_RevolvingBLoanMemberusgaapCreditFacilityAxis_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMemberusgaapVariableRateAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">trex:RevolvingBLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_MinimumMembersrtRangeAxis_RevolvingBLoanMemberusgaapCreditFacilityAxis_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMemberusgaapVariableRateAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">trex:RevolvingBLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMemberusgaapVariableRateAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="trex:AgreementAxis">trex:FifthAmendmentAndRestatedAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_BaseRateMemberusgaapVariableRateAxis_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="trex:AgreementAxis">trex:FifthAmendmentAndRestatedAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:ProductWarrantyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:SurfaceFlakingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis_ResidentialUseMemberusgaapGuaranteeObligationsByNatureAxis_SelectDeckingAndUniversalFasciaMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">trex:SelectDeckingAndUniversalFasciaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">trex:ResidentialUseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SupplyCommitmentAxis">trex:ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMembersrtProductOrServiceAxis_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis_ResidentialUseMemberusgaapGuaranteeObligationsByNatureAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">trex:EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">trex:ResidentialUseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SupplyCommitmentAxis">trex:ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_CommercialUseMemberusgaapGuaranteeObligationsByNatureAxis_SignatureRailingAndTranscendCladdingMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">trex:SignatureRailingAndTranscendCladdingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">trex:CommercialUseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_CommercialUseMemberusgaapGuaranteeObligationsByNatureAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">trex:CommercialUseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis_ResidentialUseMemberusgaapGuaranteeObligationsByNatureAxis_TranscendDeckingMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">trex:TranscendDeckingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">trex:ResidentialUseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SupplyCommitmentAxis">trex:ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis_ResidentialUseMemberusgaapGuaranteeObligationsByNatureAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">trex:ResidentialUseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SupplyCommitmentAxis">trex:ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_CommercialUseMemberusgaapGuaranteeObligationsByNatureAxis_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">trex:CommercialUseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SupplyCommitmentAxis">trex:ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis_ResidentialAndCommercialUseMemberusgaapGuaranteeObligationsByNatureAxis_SignatureRailingMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">trex:SignatureRailingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">trex:ResidentialAndCommercialUseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SupplyCommitmentAxis">trex:ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_InternalRevenueServiceIRSMemberusgaapIncomeTaxAuthorityNameAxis_LatestTaxYearMemberusgaapTaxPeriodAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:InternalRevenueServiceIRSMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">us-gaap:LatestTaxYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_EarliestTaxYearMemberusgaapTaxPeriodAxis_InternalRevenueServiceIRSMemberusgaapIncomeTaxAuthorityNameAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:InternalRevenueServiceIRSMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">us-gaap:EarliestTaxYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_TimeBasedRestrictedStockUnitsMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:TimeBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_PerformanceBasedRestrictedStockUnitsMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="P01_01_2024To03_31_2024_TwoThousandTwentyThreeStockRepurchaseProgramMemberusgaapShareRepurchaseProgramAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">trex:TwoThousandTwentyThreeStockRepurchaseProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="PAsOn03_31_2024_ResidentialPortfolioSegmentMemberusgaapFinancingReceivablePortfolioSegmentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">us-gaap:ResidentialPortfolioSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2024_TwoThousandFourteenStockIncentivePlanMemberusgaapPlanNameAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">trex:TwoThousandFourteenStockIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2024_InternetDomainNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2024_MinimumMembersrtRangeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2024_MaximumMembersrtRangeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2024_RevolvingBLoanMemberusgaapCreditFacilityAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">trex:RevolvingBLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2024_MinimumMembersrtRangeAxis_RevolvingBLoanMemberusgaapCreditFacilityAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">trex:RevolvingBLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2024_MaximumMembersrtRangeAxis_RevolvingBLoanMemberusgaapCreditFacilityAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">trex:RevolvingBLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2024_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2023_ResidentialPortfolioSegmentMemberusgaapFinancingReceivablePortfolioSegmentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">us-gaap:ResidentialPortfolioSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="PAsOn05_18_2022_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="trex:AgreementAxis">trex:FifthAmendmentAndRestatedAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-18</instant>
        </period>
    </context>
    <context id="PAsOn05_18_2022_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_LetterOfCreditMemberTREXCreditFacilityOneAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="trex:AgreementAxis">trex:FifthAmendmentAndRestatedAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="trex:CreditFacilityOneAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-18</instant>
        </period>
    </context>
    <context id="PAsOn05_18_2022_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis_SwinglineLetterOfCreditMemberTREXCreditFacilityOneAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="trex:AgreementAxis">trex:FifthAmendmentAndRestatedAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="trex:CreditFacilityOneAxis">trex:SwinglineLetterOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-18</instant>
        </period>
    </context>
    <context id="PAsOn02_16_2018_TwoThousandEighteenStockRepurchaseProgramMemberusgaapShareRepurchaseProgramAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">trex:TwoThousandEighteenStockRepurchaseProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-02-16</instant>
        </period>
    </context>
    <context id="P05_04_2023To05_04_2023_TwoThousandTwentyThreeStockRepurchaseProgramMemberusgaapShareRepurchaseProgramAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">trex:TwoThousandTwentyThreeStockRepurchaseProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-05-04</startDate>
            <endDate>2023-05-04</endDate>
        </period>
    </context>
    <context id="P01_01_2023To12_31_2023_PerformanceBasedRestrictedStockAdjustmentMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:PerformanceBasedRestrictedStockAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2021To12_31_2021_PerformanceBasedRestrictedStockAdjustmentMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">trex:PerformanceBasedRestrictedStockAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="PAsOn12_31_2022_CommonStockMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2022_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2022_RetainedEarningsMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2022_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2022_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:ProductWarrantyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2022_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2022_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:SurfaceFlakingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2023_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2023_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:SurfaceFlakingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2023_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:ProductWarrantyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2023_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2023_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2023_RetainedEarningsMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2023_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2023_RetainedEarningsMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2023_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2023_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2023_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:SurfaceFlakingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2023_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:ProductWarrantyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2024_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:SurfaceFlakingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2024_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">trex:ProductWarrantyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2024_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">trex:SurfaceFlakingWarrantyReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2024_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2024_RetainedEarningsMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2024_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2024_CommonStockMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069878</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <unit id="Unit_USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Unit_shares">
        <measure>shares</measure>
    </unit>
    <unit id="Unit_pure">
        <measure>pure</measure>
    </unit>
    <unit id="Unit_Year">
        <measure>utr:Year</measure>
    </unit>
    <unit id="Unit_acre">
        <measure>utr:acre</measure>
    </unit>
    <unit id="Unit_USD_per_Share">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Unit_Segment">
        <measure>trex:Segment</measure>
    </unit>
    <dei:AmendmentFlag contextRef="P01_01_2024To03_31_2024" id="ixv-7412">false</dei:AmendmentFlag>
    <dei:DocumentFiscalPeriodFocus contextRef="P01_01_2024To03_31_2024" id="ixv-7413">Q1</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey contextRef="P01_01_2024To03_31_2024" id="ixv-7414">0001069878</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate contextRef="P01_01_2024To03_31_2024" id="ixv-7415">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentType contextRef="P01_01_2024To03_31_2024" id="ixv-8214">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="P01_01_2024To03_31_2024" id="ixv-8215">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="P01_01_2024To03_31_2024" id="ixv-8216">2024-03-31</dei:DocumentPeriodEndDate>
    <dei:DocumentFiscalYearFocus contextRef="P01_01_2024To03_31_2024" id="ixv-8217">2024</dei:DocumentFiscalYearFocus>
    <dei:DocumentTransitionReport contextRef="P01_01_2024To03_31_2024" id="ixv-8218">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="P01_01_2024To03_31_2024" id="ixv-8219">001-14649</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="P01_01_2024To03_31_2024" id="ixv-8220">Trex Company, Inc.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="P01_01_2024To03_31_2024" id="ixv-8221">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="P01_01_2024To03_31_2024" id="ixv-8222">54-1910453</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="P01_01_2024To03_31_2024" id="ixv-8223">2500 Trex Way</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="P01_01_2024To03_31_2024" id="ixv-8224">Winchester</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="P01_01_2024To03_31_2024" id="ixv-8225">VA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="P01_01_2024To03_31_2024" id="ixv-8226">22601</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="P01_01_2024To03_31_2024" id="ixv-8227">540</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="P01_01_2024To03_31_2024" id="ixv-8228">542-6300</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="P01_01_2024To03_31_2024" id="ixv-8229">Common stock</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="P01_01_2024To03_31_2024" id="ixv-8230">TREX</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="P01_01_2024To03_31_2024" id="ixv-8231">NYSE</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus contextRef="P01_01_2024To03_31_2024" id="ixv-8232">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="P01_01_2024To03_31_2024" id="ixv-8233">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="P01_01_2024To03_31_2024" id="ixv-8234">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="P01_01_2024To03_31_2024" id="ixv-8235">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="P01_01_2024To03_31_2024" id="ixv-8236">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="P01_01_2024To03_31_2024" id="ixv-8237">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="PAsOn04_25_2024"
      decimals="INF"
      id="ixv-8238"
      unitRef="Unit_shares">108692757</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:NumberOfReportableSegments
      contextRef="P01_01_2024To03_31_2024"
      decimals="0"
      id="hidden113862737"
      unitRef="Unit_Segment">1</us-gaap:NumberOfReportableSegments>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList contextRef="PAsOn03_31_2024" id="hidden113862998">http://www.trex.com/20240331#AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList contextRef="PAsOn12_31_2023" id="hidden113862999">http://www.trex.com/20240331#AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8246"
      unitRef="Unit_USD">373635000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8247"
      unitRef="Unit_USD">238718000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8248"
      unitRef="Unit_USD">204023000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8249"
      unitRef="Unit_USD">144290000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8250"
      unitRef="Unit_USD">169612000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8251"
      unitRef="Unit_USD">94428000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8252"
      unitRef="Unit_USD">50600000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8253"
      unitRef="Unit_USD">37480000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8254"
      unitRef="Unit_USD">119012000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8255"
      unitRef="Unit_USD">56948000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8256"
      unitRef="Unit_USD">5000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8257"
      unitRef="Unit_USD">-1985000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8258"
      unitRef="Unit_USD">119017000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8259"
      unitRef="Unit_USD">54963000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8260"
      unitRef="Unit_USD">29947000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8261"
      unitRef="Unit_USD">13832000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8262"
      unitRef="Unit_USD">89070000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8263"
      unitRef="Unit_USD">41131000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="P01_01_2024To03_31_2024"
      decimals="2"
      id="ixv-8264"
      unitRef="Unit_USD_per_Share">0.82</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="P01_01_2023To03_31_2023"
      decimals="2"
      id="ixv-8265"
      unitRef="Unit_USD_per_Share">0.38</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="P01_01_2024To03_31_2024"
      decimals="0"
      id="ixv-8266"
      unitRef="Unit_shares">108640168</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="P01_01_2023To03_31_2023"
      decimals="0"
      id="ixv-8267"
      unitRef="Unit_shares">108771958</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="P01_01_2024To03_31_2024"
      decimals="2"
      id="ixv-8268"
      unitRef="Unit_USD_per_Share">0.82</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="P01_01_2023To03_31_2023"
      decimals="2"
      id="ixv-8269"
      unitRef="Unit_USD_per_Share">0.38</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="P01_01_2024To03_31_2024"
      decimals="0"
      id="ixv-8270"
      unitRef="Unit_shares">108790625</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="P01_01_2023To03_31_2023"
      decimals="0"
      id="ixv-8271"
      unitRef="Unit_shares">108916261</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8272"
      unitRef="Unit_USD">89070000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8273"
      unitRef="Unit_USD">41131000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8274"
      unitRef="Unit_USD">3053000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8275"
      unitRef="Unit_USD">1959000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8276"
      unitRef="Unit_USD">373470000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8277"
      unitRef="Unit_USD">41136000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8278"
      unitRef="Unit_USD">123885000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8279"
      unitRef="Unit_USD">107089000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8280"
      unitRef="Unit_USD">12958000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8281"
      unitRef="Unit_USD">22070000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8282"
      unitRef="Unit_USD">513366000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8283"
      unitRef="Unit_USD">172254000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8284"
      unitRef="Unit_USD">729993000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8285"
      unitRef="Unit_USD">709402000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8286"
      unitRef="Unit_USD">25010000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8287"
      unitRef="Unit_USD">26233000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:IntangibleAssetsNetIncludingGoodwill
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8288"
      unitRef="Unit_USD">18058000</us-gaap:IntangibleAssetsNetIncludingGoodwill>
    <us-gaap:IntangibleAssetsNetIncludingGoodwill
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8289"
      unitRef="Unit_USD">18163000</us-gaap:IntangibleAssetsNetIncludingGoodwill>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8290"
      unitRef="Unit_USD">6531000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8291"
      unitRef="Unit_USD">6833000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8292"
      unitRef="Unit_USD">1292958000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8293"
      unitRef="Unit_USD">932885000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8294"
      unitRef="Unit_USD">49350000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8295"
      unitRef="Unit_USD">23963000</us-gaap:AccountsPayableCurrent>
    <trex:AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8296"
      unitRef="Unit_USD">91940000</trex:AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty>
    <trex:AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8297"
      unitRef="Unit_USD">56734000</trex:AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty>
    <us-gaap:StandardProductWarrantyAccrualCurrent
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8298"
      unitRef="Unit_USD">4901000</us-gaap:StandardProductWarrantyAccrualCurrent>
    <us-gaap:StandardProductWarrantyAccrualCurrent
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8299"
      unitRef="Unit_USD">4865000</us-gaap:StandardProductWarrantyAccrualCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8300"
      unitRef="Unit_USD">223000000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8301"
      unitRef="Unit_USD">5500000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8302"
      unitRef="Unit_USD">369191000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8303"
      unitRef="Unit_USD">91062000</us-gaap:LiabilitiesCurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8304"
      unitRef="Unit_USD">67226000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8305"
      unitRef="Unit_USD">72439000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8306"
      unitRef="Unit_USD">17602000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8307"
      unitRef="Unit_USD">18840000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:StandardProductWarrantyAccrualNoncurrent
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8308"
      unitRef="Unit_USD">18233000</us-gaap:StandardProductWarrantyAccrualNoncurrent>
    <us-gaap:StandardProductWarrantyAccrualNoncurrent
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8309"
      unitRef="Unit_USD">17313000</us-gaap:StandardProductWarrantyAccrualNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8310"
      unitRef="Unit_USD">16560000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8311"
      unitRef="Unit_USD">16560000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8312"
      unitRef="Unit_USD">488812000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8313"
      unitRef="Unit_USD">216214000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="PAsOn03_31_2024"
      id="ixv-8314"
      unitRef="Unit_USD"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="PAsOn12_31_2023"
      id="ixv-8315"
      unitRef="Unit_USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="PAsOn12_31_2023"
      decimals="INF"
      id="ixv-8316"
      unitRef="Unit_USD_per_Share">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="PAsOn03_31_2024"
      decimals="INF"
      id="ixv-8317"
      unitRef="Unit_USD_per_Share">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="PAsOn12_31_2023"
      decimals="INF"
      id="ixv-8318"
      unitRef="Unit_shares">3000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="PAsOn03_31_2024"
      decimals="INF"
      id="ixv-8319"
      unitRef="Unit_shares">3000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="PAsOn12_31_2023"
      decimals="INF"
      id="ixv-8320"
      unitRef="Unit_shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="PAsOn03_31_2024"
      decimals="INF"
      id="ixv-8321"
      unitRef="Unit_shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="PAsOn12_31_2023"
      decimals="INF"
      id="ixv-8322"
      unitRef="Unit_shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="PAsOn03_31_2024"
      decimals="INF"
      id="ixv-8323"
      unitRef="Unit_shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockValue
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8324"
      unitRef="Unit_USD">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8325"
      unitRef="Unit_USD">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="PAsOn12_31_2023"
      decimals="INF"
      id="ixv-8326"
      unitRef="Unit_USD_per_Share">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="PAsOn03_31_2024"
      decimals="INF"
      id="ixv-8327"
      unitRef="Unit_USD_per_Share">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="PAsOn12_31_2023"
      decimals="INF"
      id="ixv-8328"
      unitRef="Unit_shares">360000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="PAsOn03_31_2024"
      decimals="INF"
      id="ixv-8329"
      unitRef="Unit_shares">360000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="PAsOn03_31_2024"
      decimals="INF"
      id="ixv-8330"
      unitRef="Unit_shares">141056063</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="PAsOn12_31_2023"
      decimals="INF"
      id="ixv-8331"
      unitRef="Unit_shares">140974843</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="PAsOn03_31_2024"
      decimals="INF"
      id="ixv-8332"
      unitRef="Unit_shares">108692757</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="PAsOn12_31_2023"
      decimals="INF"
      id="ixv-8333"
      unitRef="Unit_shares">108611537</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8334"
      unitRef="Unit_USD">1411000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8335"
      unitRef="Unit_USD">1410000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8336"
      unitRef="Unit_USD">138561000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8337"
      unitRef="Unit_USD">140157000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8338"
      unitRef="Unit_USD">1425128000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8339"
      unitRef="Unit_USD">1336058000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:TreasuryStockCommonShares
      contextRef="PAsOn03_31_2024"
      decimals="INF"
      id="ixv-8340"
      unitRef="Unit_shares">32363306</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="PAsOn12_31_2023"
      decimals="INF"
      id="ixv-8341"
      unitRef="Unit_shares">32363306</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockValue
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8342"
      unitRef="Unit_USD">760954000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8343"
      unitRef="Unit_USD">760954000</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8344"
      unitRef="Unit_USD">804146000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8345"
      unitRef="Unit_USD">716671000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8346"
      unitRef="Unit_USD">1292958000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8347"
      unitRef="Unit_USD">932885000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="PAsOn12_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="INF"
      id="ixv-8348"
      unitRef="Unit_shares">108611537</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8349"
      unitRef="Unit_USD">1410000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2023_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8350"
      unitRef="Unit_USD">140157000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2023_RetainedEarningsMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8351"
      unitRef="Unit_USD">1336058000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="PAsOn12_31_2023_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis"
      decimals="INF"
      id="ixv-8352"
      unitRef="Unit_shares">32363306</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2023_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8353"
      unitRef="Unit_USD">-760954000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8354"
      unitRef="Unit_USD">716671000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2024To03_31_2024_RetainedEarningsMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8355"
      unitRef="Unit_USD">89070000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8356"
      unitRef="Unit_USD">89070000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="P01_01_2024To03_31_2024_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="INF"
      id="ixv-8357"
      unitRef="Unit_shares">5640</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="P01_01_2024To03_31_2024_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8358"
      unitRef="Unit_USD">397000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8359"
      unitRef="Unit_USD">397000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="P01_01_2024To03_31_2024_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="INF"
      id="ixv-8360"
      unitRef="Unit_shares">55103</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="P01_01_2024To03_31_2024_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8361"
      unitRef="Unit_USD">5146000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8362"
      unitRef="Unit_USD">5146000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross
      contextRef="P01_01_2024To03_31_2024_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="INF"
      id="ixv-8363"
      unitRef="Unit_shares">130683</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="P01_01_2024To03_31_2024_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8364"
      unitRef="Unit_USD">1000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="P01_01_2024To03_31_2024_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8365"
      unitRef="Unit_USD">3153000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8366"
      unitRef="Unit_USD">3154000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:SharesIssued
      contextRef="PAsOn03_31_2024_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="INF"
      id="ixv-8367"
      unitRef="Unit_shares">108692757</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn03_31_2024_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8368"
      unitRef="Unit_USD">1411000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn03_31_2024_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8369"
      unitRef="Unit_USD">138561000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn03_31_2024_RetainedEarningsMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8370"
      unitRef="Unit_USD">1425128000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="PAsOn03_31_2024_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis"
      decimals="INF"
      id="ixv-8371"
      unitRef="Unit_shares">32363306</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn03_31_2024_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8372"
      unitRef="Unit_USD">-760954000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8373"
      unitRef="Unit_USD">804146000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="PAsOn12_31_2022_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="INF"
      id="ixv-8374"
      unitRef="Unit_shares">108743423</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2022_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8375"
      unitRef="Unit_USD">1408000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2022_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8376"
      unitRef="Unit_USD">131539000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2022_RetainedEarningsMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8377"
      unitRef="Unit_USD">1130674000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="PAsOn12_31_2022_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis"
      decimals="INF"
      id="ixv-8378"
      unitRef="Unit_shares">32098410</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2022_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8379"
      unitRef="Unit_USD">-745272000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2022"
      decimals="-3"
      id="ixv-8380"
      unitRef="Unit_USD">518349000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2023To03_31_2023_RetainedEarningsMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8381"
      unitRef="Unit_USD">41131000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8382"
      unitRef="Unit_USD">41131000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="P01_01_2023To03_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="INF"
      id="ixv-8383"
      unitRef="Unit_shares">8504</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="P01_01_2023To03_31_2023_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8384"
      unitRef="Unit_USD">316000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8385"
      unitRef="Unit_USD">316000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="P01_01_2023To03_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="INF"
      id="ixv-8386"
      unitRef="Unit_shares">28773</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="P01_01_2023To03_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8387"
      unitRef="Unit_USD">0</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="P01_01_2023To03_31_2023_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8388"
      unitRef="Unit_USD">1592000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8389"
      unitRef="Unit_USD">1592000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross
      contextRef="P01_01_2023To03_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="INF"
      id="ixv-8390"
      unitRef="Unit_shares">80362</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="P01_01_2023To03_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8391"
      unitRef="Unit_USD">1000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="P01_01_2023To03_31_2023_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8392"
      unitRef="Unit_USD">1972000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8393"
      unitRef="Unit_USD">1973000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:SharesIssued
      contextRef="PAsOn03_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="INF"
      id="ixv-8394"
      unitRef="Unit_shares">108803516</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn03_31_2023_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8395"
      unitRef="Unit_USD">1409000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn03_31_2023_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8396"
      unitRef="Unit_USD">132235000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn03_31_2023_RetainedEarningsMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8397"
      unitRef="Unit_USD">1171805000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="PAsOn03_31_2023_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis"
      decimals="INF"
      id="ixv-8398"
      unitRef="Unit_shares">32098410</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn03_31_2023_TreasuryStockCommonMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      id="ixv-8399"
      unitRef="Unit_USD">-745272000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn03_31_2023"
      decimals="-3"
      id="ixv-8400"
      unitRef="Unit_USD">560177000</us-gaap:StockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8401"
      unitRef="Unit_USD">89070000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8402"
      unitRef="Unit_USD">41131000</us-gaap:ProfitLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8403"
      unitRef="Unit_USD">14154000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8404"
      unitRef="Unit_USD">11915000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8405"
      unitRef="Unit_USD">-5212000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8406"
      unitRef="Unit_USD">0</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:ShareBasedCompensation
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8407"
      unitRef="Unit_USD">3155000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8408"
      unitRef="Unit_USD">1972000</us-gaap:ShareBasedCompensation>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8409"
      unitRef="Unit_USD">-2122000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8410"
      unitRef="Unit_USD">0</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8411"
      unitRef="Unit_USD">-121000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8412"
      unitRef="Unit_USD">-121000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8413"
      unitRef="Unit_USD">332333000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8414"
      unitRef="Unit_USD">204014000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8415"
      unitRef="Unit_USD">16796000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8416"
      unitRef="Unit_USD">-13571000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8417"
      unitRef="Unit_USD">319000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8418"
      unitRef="Unit_USD">-291000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8419"
      unitRef="Unit_USD">26238000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8420"
      unitRef="Unit_USD">2975000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8421"
      unitRef="Unit_USD">12041000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8422"
      unitRef="Unit_USD">3361000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8423"
      unitRef="Unit_USD">33715000</us-gaap:IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable>
    <us-gaap:IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8424"
      unitRef="Unit_USD">13206000</us-gaap:IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8425"
      unitRef="Unit_USD">-174044000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8426"
      unitRef="Unit_USD">-115471000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8427"
      unitRef="Unit_USD">37720000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8428"
      unitRef="Unit_USD">39192000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8429"
      unitRef="Unit_USD">106000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8430"
      unitRef="Unit_USD">0</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8431"
      unitRef="Unit_USD">-37614000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8432"
      unitRef="Unit_USD">-39192000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8433"
      unitRef="Unit_USD">258500000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8434"
      unitRef="Unit_USD">200500000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8435"
      unitRef="Unit_USD">41000000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8436"
      unitRef="Unit_USD">53000000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8437"
      unitRef="Unit_USD">5145000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8438"
      unitRef="Unit_USD">1592000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8439"
      unitRef="Unit_USD">397000</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions>
    <us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8440"
      unitRef="Unit_USD">316000</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions>
    <trex:PaymentsForProceedsFromFinancingCosts
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8441"
      unitRef="Unit_USD">0</trex:PaymentsForProceedsFromFinancingCosts>
    <trex:PaymentsForProceedsFromFinancingCosts
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8442"
      unitRef="Unit_USD">-30000</trex:PaymentsForProceedsFromFinancingCosts>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8443"
      unitRef="Unit_USD">212752000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8444"
      unitRef="Unit_USD">146254000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8445"
      unitRef="Unit_USD">1094000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8446"
      unitRef="Unit_USD">-8409000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8447"
      unitRef="Unit_USD">1959000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="PAsOn12_31_2022"
      decimals="-3"
      id="ixv-8448"
      unitRef="Unit_USD">12325000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8449"
      unitRef="Unit_USD">3053000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="PAsOn03_31_2023"
      decimals="-3"
      id="ixv-8450"
      unitRef="Unit_USD">3916000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8451"
      unitRef="Unit_USD">0</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8452"
      unitRef="Unit_USD">1817000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8453"
      unitRef="Unit_USD">1444000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8454"
      unitRef="Unit_USD">733000</us-gaap:IncomeTaxesPaidNet>
    <trex:CapitalExpendituresInAccountsPayable
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8455"
      unitRef="Unit_USD">851000</trex:CapitalExpendituresInAccountsPayable>
    <trex:CapitalExpendituresInAccountsPayable
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8456"
      unitRef="Unit_USD">229000</trex:CapitalExpendituresInAccountsPayable>
    <us-gaap:NatureOfOperations contextRef="P01_01_2024To03_31_2024" id="ixv-3020">
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;1.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: left; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;BUSINESS AND ORGANIZATION &lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;Trex Company, Inc. (Trex or Company), is the world&#x2019;s largest manufacturer of high-performance, &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;low-maintenance&lt;/div&gt; wood-alternative decking and residential railing and outdoor living products and accessories, marketed under the brand name Trex&lt;div style="font-size:75%; vertical-align:top;display:inline;font-size:8.3px"&gt;&#xae;&lt;/div&gt;, with more than 30 years of product experience. A majority of its products are manufactured in a proprietary process that combines reclaimed wood fibers and scrap polyethylene. The Company is incorporated in Delaware. The principal executive offices are located at 2500 Trex Way, Winchester, Virginia 22601, and the telephone number at that address is &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;(540)&#160;542-6300.&lt;/div&gt; The Company operates in a &lt;div style="-sec-ix-hidden:hidden113862737;display:inline;"&gt;single&lt;/div&gt; reportable segment. &lt;/div&gt;</us-gaap:NatureOfOperations>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-3035">
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: left; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;BASIS OF PRESENTATION &lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States for interim financial information and the instructions to Form &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;10-Q&lt;/div&gt; and Article 10 of Regulation &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;S-X&lt;/div&gt; and, accordingly, the accompanying unaudited condensed consolidated financial statements do not include all of the information and notes required by accounting principles generally accepted in the United States for complete financial statements. In the opinion of management, all adjustments (consisting of normal and recurring adjustments, except as otherwise described herein) considered necessary for a fair presentation have been included in the accompanying unaudited condensed consolidated financial statements. Certain reclassifications have been made to prior period balances to conform to current year presentation. The unaudited condensed consolidated financial statements include the accounts of the Company for all periods presented. Intercompany accounts and transactions have been eliminated in consolidation. &lt;/div&gt;&lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The unaudited consolidated results of operations for the three months ended March&#160;31, 2024, are not necessarily indicative of the results that may be expected for the fiscal year ending December&#160;31, 2024. The Company&#x2019;s results of operations are affected by a number of factors, including, but not limited to, the cost to manufacture and distribute products, cost of raw materials, inflation, consumer spending and preferences, interest rates, the impact of any supply chain disruptions, economic conditions, and/or any adverse effects from global health pandemics and geopolitical conflicts. &lt;/div&gt;&lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;These unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto included in the Annual Report of Trex Company, Inc. on Form &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;10-K&lt;/div&gt; for the year ended December&#160;31, 2023, as filed with the U.S. Securities and Exchange Commission. &lt;/div&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-3051">
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;3.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: left; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;RECENTLY ADOPTED ACCOUNTING STANDARDS &lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;In December 2022, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;No.&#160;2022-06&lt;/div&gt; &#x201c;Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848.&#x201d; The amendments in this update defer the sunset date of Topic 848 from December&#160;31, 2022 to December&#160;31, 2024, after which entities will no longer be permitted to apply the relief in Topic 848. In March 2020, the FASB issued ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;No.&#160;2020-04&lt;/div&gt; &#x201c;Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting.&#x201d; These amendments provide temporary optional guidance to ease the potential burden in accounting for reference rate reform. ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;No.&#160;2020-04&lt;/div&gt; provides optional expedients and exceptions for applying generally accepted accounting principles to contract modifications and hedging relationships, subject to meeting certain criteria, that reference the London Interbank Offered Rate (LIBOR) or another reference rate expected to be discontinued. The FASB included a sunset provision within Topic 848 based on the expectations of when the LIBOR would cease being published intended to help stakeholders during the global market-wide reference rate transition period. The guidance is effective for all entities as of March&#160;12, 2020 through December&#160;31, 2024 and can be adopted as of any date from the beginning of an interim period that includes or is subsequent to March&#160;12, 2020. The amendments did not have a material effect on the Company&#x2019;s consolidated financial statements. &lt;/div&gt;</us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
    <trex:DescriptionOfNewAccountingStandardsNotYetAdoptedTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-3072">
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;4.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: left; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;NEW ACCOUNTING STANDARDS NOT YET ADOPTED &lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;In November 2023, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;No.&#160;2023-07,&lt;/div&gt; &#x201c;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures.&#x201d; The guidance requires disclosure of significant segment expenses which are regularly provided to the chief operating decision maker (CODM), the composition of and amount of other segment items, the CODM&#x2019;s title and position within the organization, and how the CODM uses the reported measure(s) of segment&#x2019;s profit or loss to assess the performance of the segment. In addition, on an interim basis, all segment profit or loss and asset disclosures currently required on an annual basis must be reported, as well as those required by Topic 280. The guidance allows for multiple measure of a segment&#x2019;s profit or loss to be reported. Entities which have a single reportable segment must apply Topic 280 in its entirety. The guidance is effective for fiscal years beginning after December&#160;15, 2023, and for interim periods beginning after December&#160;15, 2024. Early adoption is permitted. Entities are required to apply the amendments of this update retrospectively for all prior periods presented in the financial statements. The Company does not intend to early adopt the standard and does not expect adoption of this guidance to have a material effect on its consolidated results of operations and financial position. &lt;/div&gt;&lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;In December 2023, the FASB issued ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;No.&#160;2023-09,&lt;/div&gt; &#x201c;Income Taxes (Topic 740): Improvements to Income Tax Disclosures.&#x201d; The guidance requires public entities to disclose additional categories of information related to federal, state, and foreign income taxes and additional details related to reconciling items should they meet a quantitative threshold. The guidance requires disclosure of income taxes paid (net of refunds received) disaggregated by federal, state, and foreign taxes and to disaggregate the information by jurisdiction based on quantitative thresholds. The guidance is effective for fiscal years beginning after December&#160;15, 2024. Early adoption is permitted. The guidance should be applied on a prospective basis, retrospective application is permitted. The Company does not intend to early adopt the standard and does not expect adoption of the guidance to have a material effect on its consolidated results of operations and financial position. &lt;/div&gt;</trex:DescriptionOfNewAccountingStandardsNotYetAdoptedTextBlock>
    <us-gaap:InventoryDisclosureTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-3086">
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;5.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: left; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;INVENTORIES &lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;Inventories valued at LIFO &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;(last-in,&lt;/div&gt; &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;first-out),&lt;/div&gt; consist of the following (in thousands): &lt;/div&gt;&lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:68%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:73%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:6%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:5%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;March&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2024&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2023&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Finished goods&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;89,619&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;88,840&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Raw materials&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;67,705&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;51,688&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Total FIFO &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;(first-in,&lt;/div&gt; &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;first-out)&lt;/div&gt; inventories&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;157,324&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;140,528&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Reserve to adjust inventories to LIFO value&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;(33,439&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;(33,439&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Total LIFO inventories&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;123,885&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;107,089&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The Company utilizes the LIFO method of accounting, which generally provides for the matching of current costs with current revenues. However, under the LIFO method, reductions in annual inventory balances may cause a portion of the Company&#x2019;s cost of sales to be based on historical costs rather than current year costs (LIFO liquidation). Reductions in interim inventory balances expected to be replenished by &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;year-end&lt;/div&gt; do not result in a LIFO liquidation. Accordingly, interim LIFO calculations are based, in part, on management&#x2019;s estimates of expected &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;year-end&lt;/div&gt; inventory levels and costs and may differ from actual results. Since inventory levels and costs are subject to factors beyond management&#x2019;s control, interim results are subject to the final &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;year-end&lt;/div&gt; LIFO inventory valuation. There were no LIFO inventory liquidations or related impact on the cost of sales in the three months ended March&#160;31, 2024. &lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-3095">&lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;Inventories valued at LIFO &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;(last-in,&lt;/div&gt; &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;first-out),&lt;/div&gt; consist of the following (in thousands): &lt;/div&gt;&lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:68%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:73%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:6%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:5%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;March&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2024&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2023&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Finished goods&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;89,619&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;88,840&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Raw materials&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;67,705&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;51,688&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Total FIFO &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;(first-in,&lt;/div&gt; &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;first-out)&lt;/div&gt; inventories&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;157,324&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;140,528&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Reserve to adjust inventories to LIFO value&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;(33,439&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;(33,439&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Total LIFO inventories&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;123,885&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;107,089&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryFinishedGoods
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8457"
      unitRef="Unit_USD">89619000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8458"
      unitRef="Unit_USD">88840000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryRawMaterials
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8459"
      unitRef="Unit_USD">67705000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8460"
      unitRef="Unit_USD">51688000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryGross
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8461"
      unitRef="Unit_USD">157324000</us-gaap:InventoryGross>
    <us-gaap:InventoryGross
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8462"
      unitRef="Unit_USD">140528000</us-gaap:InventoryGross>
    <us-gaap:InventoryLIFOReserve
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8463"
      unitRef="Unit_USD">33439000</us-gaap:InventoryLIFOReserve>
    <us-gaap:InventoryLIFOReserve
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8464"
      unitRef="Unit_USD">33439000</us-gaap:InventoryLIFOReserve>
    <us-gaap:LIFOInventoryAmount
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8465"
      unitRef="Unit_USD">123885000</us-gaap:LIFOInventoryAmount>
    <us-gaap:LIFOInventoryAmount
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8466"
      unitRef="Unit_USD">107089000</us-gaap:LIFOInventoryAmount>
    <trex:PrepaidAndOtherCurrentAssetsDisclosureTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-3233">
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;6.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: left; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;PREPAID EXPENSES AND OTHER ASSETS &lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;Prepaid expenses and other assets consist of the following (in thousands): &lt;/div&gt;&lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:68%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:74%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:6%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:6%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;March&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2024&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;br/&gt; 2023&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Prepaid expenses&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;12,329&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;11,830&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Income tax receivable&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;&#x2014;&#x2002;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;9,611&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Other&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;629&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;629&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Total prepaid expenses and other assets&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;12,958&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;22,070&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</trex:PrepaidAndOtherCurrentAssetsDisclosureTextBlock>
    <trex:PrepaidExpenseAndOtherAssetsCurrentTableTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-3242">&lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;Prepaid expenses and other assets consist of the following (in thousands): &lt;/div&gt;&lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:68%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:74%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:6%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:6%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;March&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2024&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;br/&gt; 2023&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Prepaid expenses&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;12,329&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;11,830&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Income tax receivable&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;&#x2014;&#x2002;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;9,611&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Other&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;629&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;629&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Total prepaid expenses and other assets&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;12,958&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;22,070&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</trex:PrepaidExpenseAndOtherAssetsCurrentTableTextBlock>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8467"
      unitRef="Unit_USD">12329000</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8468"
      unitRef="Unit_USD">11830000</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:IncomeTaxesReceivable
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8469"
      unitRef="Unit_USD">0</us-gaap:IncomeTaxesReceivable>
    <us-gaap:IncomeTaxesReceivable
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8470"
      unitRef="Unit_USD">9611000</us-gaap:IncomeTaxesReceivable>
    <us-gaap:OtherAssetsCurrent
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8471"
      unitRef="Unit_USD">629000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8472"
      unitRef="Unit_USD">629000</us-gaap:OtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8473"
      unitRef="Unit_USD">12958000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8474"
      unitRef="Unit_USD">22070000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-3345">
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;7.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: left; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;GOODWILL AND OTHER INTANGIBLE ASSETS, NET &lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The carrying amount of goodwill at March&#160;31, 2024, and December&#160;31, 2023, was $14.2&#160;million. The Company&#x2019;s intangible assets, purchased in 2018, consist of domain names. At March&#160;31, 2024, and December&#160;31, 2023, intangible assets were $6.3&#160;million and accumulated amortization was $2.5&#160;million and $2.4&#160;million, respectively. Intangible asset amounts were determined based on the estimated economics of the asset and are amortized over the estimated useful lives on a straight-line basis over 15 years, which approximates the pattern in which the economic benefits are expected to be received. &lt;/div&gt;&lt;div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt"&gt;&#160;&lt;/div&gt;&lt;div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"&gt; &lt;/div&gt;&lt;div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"&gt;The Company evaluates the recoverability of intangible assets periodically and considers events or circumstances that may warrant revised estimates of useful lives or that may indicate an impairment. Intangible asset amortization expense for the three months ended March&#160;31, 2024, and March&#160;31, 2023, was $0.1&#160;million and $0.1&#160;million, respectively. &lt;/div&gt;&lt;div style="font-size:18pt;margin-top:0pt;margin-bottom:0pt"&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:Goodwill
      contextRef="PAsOn12_31_2023_ResidentialPortfolioSegmentMemberusgaapFinancingReceivablePortfolioSegmentAxis"
      decimals="-5"
      id="ixv-8475"
      unitRef="Unit_USD">14200000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="PAsOn03_31_2024_ResidentialPortfolioSegmentMemberusgaapFinancingReceivablePortfolioSegmentAxis"
      decimals="-5"
      id="ixv-8476"
      unitRef="Unit_USD">14200000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="PAsOn12_31_2023"
      decimals="-5"
      id="ixv-8477"
      unitRef="Unit_USD">6300000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="PAsOn03_31_2024"
      decimals="-5"
      id="ixv-8478"
      unitRef="Unit_USD">6300000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="PAsOn03_31_2024"
      decimals="-5"
      id="ixv-8479"
      unitRef="Unit_USD">2500000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="PAsOn12_31_2023"
      decimals="-5"
      id="ixv-8480"
      unitRef="Unit_USD">2400000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="PAsOn03_31_2024_InternetDomainNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      id="ixv-8481">P15Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="P01_01_2024To03_31_2024"
      decimals="-5"
      id="ixv-8483"
      unitRef="Unit_USD">100000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="P01_01_2023To03_31_2023"
      decimals="-5"
      id="ixv-8484"
      unitRef="Unit_USD">100000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-3375">
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;8.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: left; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;ACCRUED EXPENSES AND OTHER LIABILITIES &lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;Accrued expenses and other liabilities consist of the following (in thousands): &lt;/div&gt;&lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:76%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:6%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:6%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;March&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2024&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2023&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Sales and marketing&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;33,754&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;15,496&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Income Taxes&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;24,104&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;&#x2014;&#x2002;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Compensation and benefits&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;16,719&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;25,859&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;&lt;div style="-sec-ix-hidden:hidden113862998;display:inline;"&gt;Operating&lt;/div&gt; &lt;div style="-sec-ix-hidden:hidden113862999;display:inline;"&gt;lease liabilities&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;7,629&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;7,663&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Manufacturing costs&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;3,193&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;3,382&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Other&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;6,541&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;4,334&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Total accrued expenses and other liabilities&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;91,940&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;56,734&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock>
    <trex:ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-3384">&lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;Accrued expenses and other liabilities consist of the following (in thousands): &lt;/div&gt;&lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:76%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:6%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:6%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;March&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2024&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2023&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Sales and marketing&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;33,754&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;15,496&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Income Taxes&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;24,104&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;&#x2014;&#x2002;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Compensation and benefits&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;16,719&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;25,859&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;&lt;div style="-sec-ix-hidden:hidden113862998;display:inline;"&gt;Operating&lt;/div&gt; &lt;div style="-sec-ix-hidden:hidden113862999;display:inline;"&gt;lease liabilities&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;7,629&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;7,663&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Manufacturing costs&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;3,193&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;3,382&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Other&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;6,541&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;4,334&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Total accrued expenses and other liabilities&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;91,940&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;56,734&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</trex:ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock>
    <us-gaap:AccruedMarketingCostsCurrent
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8486"
      unitRef="Unit_USD">33754000</us-gaap:AccruedMarketingCostsCurrent>
    <us-gaap:AccruedMarketingCostsCurrent
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8487"
      unitRef="Unit_USD">15496000</us-gaap:AccruedMarketingCostsCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8488"
      unitRef="Unit_USD">24104000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8489"
      unitRef="Unit_USD">0</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8490"
      unitRef="Unit_USD">16719000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8491"
      unitRef="Unit_USD">25859000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8492"
      unitRef="Unit_USD">7629000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8493"
      unitRef="Unit_USD">7663000</us-gaap:OperatingLeaseLiabilityCurrent>
    <trex:AccruedManufacturingExpensesCurrent
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8494"
      unitRef="Unit_USD">3193000</trex:AccruedManufacturingExpensesCurrent>
    <trex:AccruedManufacturingExpensesCurrent
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8495"
      unitRef="Unit_USD">3382000</trex:AccruedManufacturingExpensesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8496"
      unitRef="Unit_USD">6541000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8497"
      unitRef="Unit_USD">4334000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <trex:AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8498"
      unitRef="Unit_USD">91940000</trex:AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty>
    <trex:AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8499"
      unitRef="Unit_USD">56734000</trex:AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty>
    <us-gaap:DebtDisclosureTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-3524">
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;9.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: left; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;DEBT &lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:6pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Revolving Credit Facility &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;On May&#160;18, 2022, the Company entered into a Credit Agreement (Credit Agreement) with certain lending parties thereto (Lenders) to amend and restate the Fourth Amended and Restated Credit Agreement dated as of November&#160;5, 2019. Under the Credit Agreement, the Lenders agreed to provide the Company with one or more Revolving Loans in a collective maximum principal amount of $400,000,000 (Loan Limit) throughout the term, which ends May 18, 2027 (Term). Included within the Loan Limit are sublimits for a Letter of Credit facility in an amount not to exceed $60,000,000; and Swing Line Loans in an aggregate principal amount at any time outstanding not to exceed $20,000,000. The Revolving Loans, the Letter of Credit facility and the Swing Line Loans are for the purpose of raising working capital and supporting general business operations. &lt;/div&gt;&lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;On December&#160;22, 2022, the Company entered into a First Amendment to the Credit Agreement (First Amendment). As a part of the First Amendment, the Credit Agreement was amended and restated to provide for an additional Revolving B Loan (as hereinafter defined). Under the First Amendment, the Lenders agreed to provide the Company with a Revolving B Loan consisting of one or more revolving loans in a collective maximum principal amount of $150,000,000 (Revolving B Loan Limit) throughout the term, which ends December&#160;22, 2024 (Revolving B Loan Term). Previously, under the Credit Agreement, there was no Revolving B Loan. The First Amendment also provided that TD Bank, N.A. would serve as Syndication Agent. &lt;/div&gt;&lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;In conjunction with the First Amendment, on December&#160;22, 2022, the Credit Agreement was amended and restated to refer to this loan as the Revolving A Loan. The amended and restated Credit Agreement was made an Exhibit A to the First Amendment. All of the terms of the Credit Agreement apply to the Revolving B Loan. &lt;/div&gt;&lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The Notes provide the Company, in the aggregate, the ability to borrow an amount up to the Revolving A Loan Limit during the Revolving A Loan Term and Revolving B Loan Limit during the Revolving B Loan Term. The Company is not obligated to borrow any amount under the revolving loans. Within the respective loan limit, the Company may borrow, repay and reborrow at any time or from time to time while the Notes are in effect. &lt;/div&gt;&lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;Base Rate Loans (as defined in the Credit Agreement) under the Revolving A Loan and the Swing Line Loans accrue interest at the Base Rate plus the Applicable Rate (as defined in the Credit Agreement) and Term SOFR Loans for the Revolving Loans accrue interest at the rate per annum equal to the sum of Term SOFR for such interest period&#160;plus&#160;the Applicable Rate (as defined in the Credit Agreement). The Base Rate for any day is a fluctuating rate per annum equal to the highest of (a)&#160;the Federal Funds Rate plus 0.50%, (b) the rate of interest in effect for such day as publicly announced from time to time by BOA as its prime rate, and (c)&#160;the Term SOFR plus 1.0% subject to certain interest rate floors. Repayment of all then outstanding principal, interest, fees and costs is due at the end of the Term. &lt;/div&gt;&lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;With respect to Revolving B Loans (as defined in the First Amendment), for any day, the rate per annum is a tiered pricing based upon the Consolidated Debt to Consolidated EBITDA Ratio. The applicable rate for Revolving B Loans that are Base Rate Loans range between 1.20% and 2.15% and the applicable rate for Revolving B Loans that are Term SOFR/Term SOFR Daily Floating Rate range between 0.20% and 1.15%. &lt;/div&gt;&lt;div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt"&gt;&#160;&lt;/div&gt;&lt;div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"&gt; &lt;/div&gt;&lt;div style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;Under the terms of the Security and Pledge Agreement, the Company, subject to certain permitted encumbrances, as collateral security for the above-stated loans and all other present and future indebtedness of the Company owing to the Lenders grants a continuing security interest in certain collateral described and defined in the Security and Pledge Agreement but excluding the Excluded Property (as defined in the Security and Pledge Agreement). &lt;/div&gt;&lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The Company had $223&#160;million in borrowings outstanding under its revolving credit facility and available borrowing capacity of $327&#160;million at March&#160;31, 2024. The weighted average interest rate on the revolving credit facility was 6.22% as of March&#160;31, 2024. &lt;/div&gt;&lt;div style="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Compliance with Debt Covenants and Restrictions &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;Pursuant to the terms of the Credit Agreement, the Company is subject to certain loan compliance covenants. The Company was in compliance with all covenants as of&#160;March 31, 2024. Failure to comply with the financial covenants could be considered a default of repayment obligations and, among other remedies, could accelerate payment of any amounts outstanding. &lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="PAsOn05_18_2022_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis"
      decimals="0"
      id="ixv-8500"
      unitRef="Unit_USD">400000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityExpirationDate1
      contextRef="P01_01_2024To03_31_2024_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis"
      id="ixv-8501">2027-05-18</us-gaap:LineOfCreditFacilityExpirationDate1>
    <trex:LineOfCreditFacilityAdditionalBorrowingCapacity
      contextRef="PAsOn05_18_2022_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_LetterOfCreditMemberTREXCreditFacilityOneAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis"
      decimals="0"
      id="ixv-8502"
      unitRef="Unit_USD">60000000</trex:LineOfCreditFacilityAdditionalBorrowingCapacity>
    <trex:LineOfCreditFacilityAdditionalBorrowingCapacity
      contextRef="PAsOn05_18_2022_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis_SwinglineLetterOfCreditMemberTREXCreditFacilityOneAxis"
      decimals="0"
      id="ixv-8503"
      unitRef="Unit_USD">20000000</trex:LineOfCreditFacilityAdditionalBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="PAsOn03_31_2024_RevolvingBLoanMemberusgaapCreditFacilityAxis"
      decimals="0"
      id="ixv-8504"
      unitRef="Unit_USD">150000000</us-gaap:LineOfCredit>
    <us-gaap:DebtInstrumentDescriptionOfVariableRateBasis
      contextRef="P01_01_2024To03_31_2024_BaseRateMemberusgaapVariableRateAxis_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis"
      id="ixv-8505">the Federal Funds Rate plus 0.50%</us-gaap:DebtInstrumentDescriptionOfVariableRateBasis>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="P01_01_2024To03_31_2024_BaseRateMemberusgaapVariableRateAxis_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis"
      decimals="4"
      id="ixv-8506"
      unitRef="Unit_pure">0.005</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentDescriptionOfVariableRateBasis
      contextRef="P01_01_2024To03_31_2024_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMemberusgaapVariableRateAxis"
      id="ixv-8507">the Term SOFR plus 1.0%</us-gaap:DebtInstrumentDescriptionOfVariableRateBasis>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="P01_01_2024To03_31_2024_FifthAmendmentAndRestatedAgreementMemberTREXAgreementAxis_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMemberusgaapVariableRateAxis"
      decimals="3"
      id="ixv-8508"
      unitRef="Unit_pure">0.01</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="PAsOn03_31_2024_MinimumMembersrtRangeAxis_RevolvingBLoanMemberusgaapCreditFacilityAxis"
      decimals="4"
      id="ixv-8509"
      unitRef="Unit_pure">0.012</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="PAsOn03_31_2024_MaximumMembersrtRangeAxis_RevolvingBLoanMemberusgaapCreditFacilityAxis"
      decimals="4"
      id="ixv-8510"
      unitRef="Unit_pure">0.0215</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="P01_01_2024To03_31_2024_MinimumMembersrtRangeAxis_RevolvingBLoanMemberusgaapCreditFacilityAxis_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMemberusgaapVariableRateAxis"
      decimals="4"
      id="ixv-8511"
      unitRef="Unit_pure">0.002</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="P01_01_2024To03_31_2024_MaximumMembersrtRangeAxis_RevolvingBLoanMemberusgaapCreditFacilityAxis_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMemberusgaapVariableRateAxis"
      decimals="4"
      id="ixv-8512"
      unitRef="Unit_pure">0.0115</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LinesOfCreditCurrent
      contextRef="PAsOn03_31_2024"
      decimals="-6"
      id="ixv-8514"
      unitRef="Unit_USD">223000000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="PAsOn03_31_2024"
      decimals="INF"
      id="ixv-8515"
      unitRef="Unit_USD">327000000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="PAsOn03_31_2024_RevolvingCreditFacilityMemberusgaapCreditFacilityAxis"
      decimals="4"
      id="ixv-8516"
      unitRef="Unit_pure">0.0622</us-gaap:DebtWeightedAverageInterestRate>
    <us-gaap:LesseeOperatingLeasesTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-3564">
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;10.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: left; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;LEASES &lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The Company leases manufacturing and training facilities, storage warehouses, office space, and certain plant equipment under various operating leases. The Company&#x2019;s operating leases have remaining lease terms of 1 year to 5 years. Lease terms may include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. &lt;/div&gt;&lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;For the three months ended March&#160;31, 2024 and March&#160;31, 2023, total operating lease expense was $2.0&#160;million and $2.1&#160;million, respectively. The weighted average remaining lease term at March&#160;31, 2024 and December&#160;31, 2023 was 4.2 years and 4.4 years, respectively. The weighted average discount rate at March&#160;31, 2024 and December&#160;31, 2023 was 2.38% and 2.32%, respectively. &lt;/div&gt;&lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The following table includes supplemental cash flow information for the three months ended March&#160;31, 2024 and March&#160;31, 2023, and supplemental balance sheet information at March&#160;31, 2024 and December&#160;31, 2023 related to operating leases (in thousands): &lt;/div&gt;&lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt;width:76%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:81%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:4%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:4%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Three&#160;Months&#160;Ended&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;March&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 0.5pt;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; font-size: 8pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Supplemental cash flow information&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2024&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2023&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Cash paid for amounts included in the measurement of operating lease liabilities&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;&#x2002;2,007&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;2,120&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Operating ROU assets obtained in exchange for lease liabilities&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;578&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;1,541&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:74%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:7%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:7%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:9pt"&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 0.5pt;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; font-size: 9pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Supplemental balance sheet information&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;March&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2024&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;br/&gt; 2023&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Operating lease ROU assets&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;25,010&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;26,233&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Operating lease liabilities:&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Accrued expenses and other current liabilities&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;7,629&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;7,663&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Operating lease liabilities&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;17,602&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;18,840&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Total operating lease liabilities&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;25,231&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;26,503&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The following table summarizes maturities of operating lease liabilities at March&#160;31, 2024 (in thousands): &lt;/div&gt;&lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:68%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:88%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:5%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td colspan="4" style="vertical-align:bottom;white-space:nowrap"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; font-size: 8pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Maturities of operating lease liabilities&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;2024&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;5,942&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;2025&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;5,950&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;2026&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;5,051&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;2027&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;4,549&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;2028&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;3,982&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Thereafter&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;934&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Total lease payments&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;26,408&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Less imputed interest&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;(1,177&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Total operating lease liabilities&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;25,231&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LessorOperatingLeaseTermOfContract
      contextRef="PAsOn03_31_2024_MinimumMembersrtRangeAxis"
      id="ixv-8517">P1Y</us-gaap:LessorOperatingLeaseTermOfContract>
    <us-gaap:LessorOperatingLeaseTermOfContract
      contextRef="PAsOn03_31_2024_MaximumMembersrtRangeAxis"
      id="ixv-8518">P5Y</us-gaap:LessorOperatingLeaseTermOfContract>
    <us-gaap:OperatingLeaseCost
      contextRef="P01_01_2024To03_31_2024"
      decimals="-5"
      id="ixv-8519"
      unitRef="Unit_USD">2000000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="P01_01_2023To03_31_2023"
      decimals="-5"
      id="ixv-8520"
      unitRef="Unit_USD">2100000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="PAsOn03_31_2024" id="ixv-8521">P4Y2M12D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="PAsOn12_31_2023" id="ixv-8522">P4Y4M24D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="PAsOn03_31_2024"
      decimals="INF"
      id="ixv-8523"
      unitRef="Unit_pure">0.0238</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="PAsOn12_31_2023"
      decimals="INF"
      id="ixv-8524"
      unitRef="Unit_pure">0.0232</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <trex:SupplementalFinancialInformationOfOperatingLeasesTableTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-3575">&lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The following table includes supplemental cash flow information for the three months ended March&#160;31, 2024 and March&#160;31, 2023, and supplemental balance sheet information at March&#160;31, 2024 and December&#160;31, 2023 related to operating leases (in thousands): &lt;/div&gt;&lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt;width:76%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:81%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:4%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:4%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Three&#160;Months&#160;Ended&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;March&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 0.5pt;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; font-size: 8pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Supplemental cash flow information&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2024&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2023&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Cash paid for amounts included in the measurement of operating lease liabilities&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;&#x2002;2,007&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;2,120&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Operating ROU assets obtained in exchange for lease liabilities&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;578&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;1,541&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:74%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:7%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:7%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:9pt"&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 0.5pt;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; font-size: 9pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Supplemental balance sheet information&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;March&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2024&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;br/&gt; 2023&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Operating lease ROU assets&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;25,010&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;26,233&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Operating lease liabilities:&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Accrued expenses and other current liabilities&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;7,629&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;7,663&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Operating lease liabilities&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;17,602&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;18,840&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Total operating lease liabilities&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;25,231&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;26,503&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</trex:SupplementalFinancialInformationOfOperatingLeasesTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8525"
      unitRef="Unit_USD">2007000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8526"
      unitRef="Unit_USD">2120000</us-gaap:OperatingLeasePayments>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8527"
      unitRef="Unit_USD">578000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8528"
      unitRef="Unit_USD">1541000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8529"
      unitRef="Unit_USD">25010000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8530"
      unitRef="Unit_USD">26233000</us-gaap:OperatingLeaseRightOfUseAsset>
    <trex:LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8531"
      unitRef="Unit_USD">7629000</trex:LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities>
    <trex:LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8532"
      unitRef="Unit_USD">7663000</trex:LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8533"
      unitRef="Unit_USD">17602000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8534"
      unitRef="Unit_USD">18840000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8535"
      unitRef="Unit_USD">25231000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="PAsOn12_31_2023"
      decimals="-3"
      id="ixv-8536"
      unitRef="Unit_USD">26503000</us-gaap:OperatingLeaseLiability>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-3748">&lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The following table summarizes maturities of operating lease liabilities at March&#160;31, 2024 (in thousands): &lt;/div&gt;&lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:68%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:88%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:5%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td colspan="4" style="vertical-align:bottom;white-space:nowrap"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; font-size: 8pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Maturities of operating lease liabilities&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;2024&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;5,942&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;2025&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;5,950&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;2026&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;5,051&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;2027&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;4,549&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;2028&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;3,982&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Thereafter&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;934&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Total lease payments&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;26,408&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Less imputed interest&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;(1,177&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Total operating lease liabilities&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;25,231&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8537"
      unitRef="Unit_USD">5942000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8538"
      unitRef="Unit_USD">5950000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8539"
      unitRef="Unit_USD">5051000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8540"
      unitRef="Unit_USD">4549000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8541"
      unitRef="Unit_USD">3982000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8542"
      unitRef="Unit_USD">934000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8543"
      unitRef="Unit_USD">26408000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8544"
      unitRef="Unit_USD">1177000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="PAsOn03_31_2024"
      decimals="-3"
      id="ixv-8545"
      unitRef="Unit_USD">25231000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinancialInstrumentsDisclosureTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-3861">
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;11.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: left; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;FINANCIAL INSTRUMENTS &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The Company considers the recorded value of its financial assets and liabilities, consisting primarily of cash and cash equivalents, accounts receivable, accounts payable, accrued expenses, other current liabilities, and debt to approximate the fair value of the respective assets and liabilities on the Condensed Consolidated Balance Sheets at March&#160;31, 2024 and December&#160;31, 2023. &lt;/div&gt; &lt;div style="font-size:18pt;margin-top:0pt;margin-bottom:0pt"&gt;&lt;/div&gt; </us-gaap:FinancialInstrumentsDisclosureTextBlock>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-3872">
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;12.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: left; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;STOCKHOLDERS&#x2019; EQUITY &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="margin-top:6pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Earnings Per Share &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;  &lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The following table sets forth the computation of basic and diluted earnings per share (in thousands, except share and per share data): &lt;/div&gt; &lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:70%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:9%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:9%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Three Months Ended&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;March&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2024&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2023&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Numerator:&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Net income available to common shareholders&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;89,070&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;41,131&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Denominator:&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Basic weighted average shares outstanding&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;108,640,168&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;108,771,958&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Effect of dilutive securities:&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Stock appreciation rights and options&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;71,202&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;70,004&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Restricted stock&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;79,255&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;74,299&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Diluted weighted average shares outstanding&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;108,790,625&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;108,916,261&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Basic earnings per share&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;0.82&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;0.38&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Diluted earnings per share&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;0.82&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;0.38&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;Diluted earnings per share is computed using the weighted average number of shares determined for the basic earnings per share computation plus the dilutive effect of common stock equivalents using the treasury stock method. The computation of diluted earnings per share excludes the following potentially dilutive securities because the effect would be anti-dilutive: &lt;/div&gt; &lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt;width:76%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:67%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:8%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:4%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Three&#160;Months&#160;Ended&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;March&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2024&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2023&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Stock appreciation rights&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;&#x2007;&#x2007;&#x2007;&#x2009;&#x2009;&#x2007;55,132&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#x2003;&#x2003;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;&#x2007;&#x2007;&#x2007;&#x2009;&#x2009;108,749&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Restricted stock&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;48,597&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;107,571&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Stock Repurchase Program &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;On February&#160;16, 2018, the Board of Directors adopted the 2018 Stock Repurchase Program of up to 11.6&#160;million shares of the Company&#x2019;s outstanding common stock (Stock Repurchase Program). On May&#160;4, 2023, the Trex Board of Directors adopted a new stock repurchase program (2023 Stock Repurchase Program) of up to 10.8&#160;million shares of its outstanding common stock, and terminated the existing Stock Repurchase Program. The 2023 Stock Repurchase Program has no set expiration date. During the three months ended March&#160;31, 2024, Trex did not repurchase any shares of its outstanding common stock under the 2023 Stock Repurchase Program. &lt;/div&gt; </us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-3884"> &lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The following table sets forth the computation of basic and diluted earnings per share (in thousands, except share and per share data): &lt;/div&gt; &lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:70%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:9%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:9%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Three Months Ended&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;March&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2024&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2023&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Numerator:&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Net income available to common shareholders&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;89,070&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;41,131&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Denominator:&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Basic weighted average shares outstanding&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;108,640,168&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;108,771,958&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Effect of dilutive securities:&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Stock appreciation rights and options&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;71,202&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;70,004&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Restricted stock&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;79,255&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;74,299&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Diluted weighted average shares outstanding&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;108,790,625&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;108,916,261&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Basic earnings per share&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;0.82&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;0.38&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Diluted earnings per share&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;0.82&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;0.38&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8547"
      unitRef="Unit_USD">89070000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8548"
      unitRef="Unit_USD">41131000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="P01_01_2024To03_31_2024"
      decimals="0"
      id="ixv-8549"
      unitRef="Unit_shares">108640168</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="P01_01_2023To03_31_2023"
      decimals="0"
      id="ixv-8550"
      unitRef="Unit_shares">108771958</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="P01_01_2024To03_31_2024_StockAppreciationRightsMemberusgaapAwardTypeAxis"
      decimals="0"
      id="ixv-8551"
      unitRef="Unit_shares">71202</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="P01_01_2023To03_31_2023_StockAppreciationRightsMemberusgaapAwardTypeAxis"
      decimals="0"
      id="ixv-8552"
      unitRef="Unit_shares">70004</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="P01_01_2024To03_31_2024_RestrictedStockMemberusgaapAwardTypeAxis"
      decimals="0"
      id="ixv-8553"
      unitRef="Unit_shares">79255</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="P01_01_2023To03_31_2023_RestrictedStockMemberusgaapAwardTypeAxis"
      decimals="0"
      id="ixv-8554"
      unitRef="Unit_shares">74299</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="P01_01_2024To03_31_2024"
      decimals="0"
      id="ixv-8555"
      unitRef="Unit_shares">108790625</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="P01_01_2023To03_31_2023"
      decimals="0"
      id="ixv-8556"
      unitRef="Unit_shares">108916261</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="P01_01_2024To03_31_2024"
      decimals="2"
      id="ixv-8557"
      unitRef="Unit_USD_per_Share">0.82</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="P01_01_2023To03_31_2023"
      decimals="2"
      id="ixv-8558"
      unitRef="Unit_USD_per_Share">0.38</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="P01_01_2024To03_31_2024"
      decimals="2"
      id="ixv-8559"
      unitRef="Unit_USD_per_Share">0.82</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="P01_01_2023To03_31_2023"
      decimals="2"
      id="ixv-8560"
      unitRef="Unit_USD_per_Share">0.38</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-8561">The computation of diluted earnings per share excludes the following potentially dilutive securities because the effect would be anti-dilutive: &lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt;width:76%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:67%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:8%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:4%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Three&#160;Months&#160;Ended&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;March&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2024&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2023&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Stock appreciation rights&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;&#x2007;&#x2007;&#x2007;&#x2009;&#x2009;&#x2007;55,132&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#x2003;&#x2003;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;&#x2007;&#x2007;&#x2007;&#x2009;&#x2009;108,749&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Restricted stock&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;48,597&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;107,571&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"
      decimals="0"
      id="ixv-8562"
      unitRef="Unit_shares">55132</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="P01_01_2023To03_31_2023_StockAppreciationRightsSARSMemberusgaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"
      decimals="0"
      id="ixv-8563"
      unitRef="Unit_shares">108749</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="P01_01_2024To03_31_2024_RestrictedStockMemberusgaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"
      decimals="0"
      id="ixv-8564"
      unitRef="Unit_shares">48597</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="P01_01_2023To03_31_2023_RestrictedStockMemberusgaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"
      decimals="0"
      id="ixv-8565"
      unitRef="Unit_shares">107571</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="PAsOn02_16_2018_TwoThousandEighteenStockRepurchaseProgramMemberusgaapShareRepurchaseProgramAxis"
      decimals="-5"
      id="ixv-8566"
      unitRef="Unit_shares">11600000</us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="P05_04_2023To05_04_2023_TwoThousandTwentyThreeStockRepurchaseProgramMemberusgaapShareRepurchaseProgramAxis"
      decimals="INF"
      id="ixv-8567"
      unitRef="Unit_shares">10800000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="P01_01_2024To03_31_2024_TwoThousandTwentyThreeStockRepurchaseProgramMemberusgaapShareRepurchaseProgramAxis"
      decimals="INF"
      id="ixv-8568"
      unitRef="Unit_shares">0</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-4163">
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;13.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: left; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;REVENUE FROM CONTRACTS WITH CUSTOMERS &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The Company principally generates revenue from the manufacture and sale of its high-performance, &lt;div style="white-space:nowrap;display:inline;"&gt;low-maintenance,&lt;/div&gt; &lt;div style="white-space:nowrap;display:inline;"&gt;eco-friendly&lt;/div&gt; wood-alternative composite decking and railing products and accessories. Substantially all of its revenues are from contracts with customers, which are purchase orders of short-term duration of less than one year. Its customers, in turn, sell primarily to the residential market, which includes replacement, remodeling and new construction related to outdoor living products. The Company satisfies its performance obligations at a point in time. The shipment &lt;/div&gt; &lt;div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt"&gt;&#160;&lt;/div&gt; &lt;div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"&gt; &lt;/div&gt; &lt;div&gt;&lt;/div&gt;&lt;div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"&gt;of each product is a separate performance obligation as the customer is able to derive benefit from each product shipped and no performance obligation remains after shipment. Upon shipment of the product, the customer obtains control over the distinct product and Trex satisfies its performance obligation. Any performance obligation that remains unsatisfied at the end of a reporting period is part of a contract that has an original expected duration of one year or less. Any variable consideration related to the unsatisfied performance obligation is allocated wholly to the unsatisfied performance obligation, is recognized when the product ships and the performance obligation is satisfied and is included in &#x201c;Accrued expenses and other liabilities, Sales and marketing&#x201d; in Note 8 to the Condensed Consolidated Financial Statements. For the three months ended March&#160;31, 2024 and March&#160;31, 2023, the Company&#x2019;s net sales of $&lt;div style="display:inline;"&gt;373,635&lt;/div&gt; and $&lt;div style="display:inline;"&gt;238,718&lt;/div&gt;, respectively, were recognized at a point in time upon transfer of its outdoor living products under variable consideration contracts into the building products market. &lt;/div&gt; &lt;div style="font-size:18pt;margin-top:0pt;margin-bottom:0pt"&gt;&lt;/div&gt; </us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8570"
      unitRef="Unit_USD">373635000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8571"
      unitRef="Unit_USD">238718000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-4198">
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;14.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: left; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;STOCK-BASED COMPENSATION &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;At the annual meeting of stockholders of the Company held on May&#160;4, 2023, the Company&#x2019;s stockholders approved the Trex Company, Inc. 2023 Stock Incentive Plan (Plan). The Company&#x2019;s board of directors unanimously approved the Plan on April&#160;10, 2023, subject to stockholder approval. The Plan amends and restates in its entirety the Trex Company, Inc. 2014 Stock Incentive Plan (2014 Plan), which was last approved by the Company&#x2019;s stockholders at the annual meeting held on April&#160;30, 2014. The Plan, which will be administered by the compensation committee of the board of directors, provides for the grant of stock options, restricted stock, restricted stock units, stock appreciation rights and unrestricted stock, which are referred to collectively as &#x201c;awards.&#x201d; Awards may be granted under the Plan to officers, directors (including &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;non-employee&lt;/div&gt; directors) and other employees of the Company or any subsidiary thereof, to any adviser, consultant, or other provider of services to the Company (and any employee thereof), and to any other individuals who are approved by the board of directors as eligible to participate in the Plan. Only employees of the Company or any subsidiary thereof are eligible to receive incentive stock options. Subject to certain adjustments as provided in the Plan, the total number of shares of common stock available for future grants under the Plan is 4,000,000 shares. &lt;/div&gt;  &lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The following table summarizes the Company&#x2019;s stock-based compensation grants for the three months ended March&#160;31, 2024: &lt;/div&gt; &lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:62%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:13%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:13%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Stock&#160;Awards&#160;Granted&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;Weighted-Average&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Grant Price&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Per Share&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Time-based restricted stock units&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;48,628&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;90.86&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Performance-based restricted stock units (a)&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;80,371&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;81.01&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Stock appreciation rights&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;33,277&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;84.72&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left;"&gt;(a)&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: left; line-height: normal;"&gt;Includes 55,834 of target performance-based restricted stock unit awards granted during the three months ended March&#160;31, 2024, and adjustments of 25,315, and (778)&#160;to grants due to the actual performance level achieved for restricted stock and restricted stock units awarded in 2023 and 2021, respectively. &lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The fair value of each SAR is estimated on the date of grant using a Black-Scholes option-pricing formula. For SARs issued in the three months ended March&#160;31, 2024 and March&#160;31, 2023, the data and assumptions shown in the following table were used: &lt;/div&gt; &lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:61%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:16%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:15%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Three&#160;Months&#160;Ended&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;March&#160;31, 2024&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Three&#160;Months&#160;Ended&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;March&#160;31, 2023&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Weighted-average fair value of grants&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;44.83&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;27.19&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Dividend yield&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;0&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;0&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;%&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Average risk-free interest rate&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;4.3&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;4.0&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;%&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Expected term (years)&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Expected volatility&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;51.2&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;49.5&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;%&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt"&gt;&#160;&lt;/div&gt; &lt;div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"&gt; &lt;/div&gt; &lt;div style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The Company recognizes stock-based compensation expense ratably over the period from the grant date to the earlier of: (1)&#160;the vesting date of the award, or (2)&#160;the date the grantee is eligible to retire without forfeiting the award. For performance-based restricted stock and performance-based restricted stock units, expense is recognized ratably over the performance and vesting period of each tranche based on management&#x2019;s judgment of the ultimate award that is likely to be paid out based on the achievement of the predetermined performance measures. For the employee stock purchase plan, compensation expense is recognized related to the discount on purchases. Stock-based compensation expense is included in &#x201c;Selling, general and administrative expenses&#x201d; in the Condensed Consolidated Statements of Comprehensive Income. The following table summarizes the Company&#x2019;s stock-based compensation expense (in thousands): &lt;/div&gt; &lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:82%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:4%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:4%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Three&#160;Months&#160;Ended&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;March&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2024&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2023&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Stock appreciation rights&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;271&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;215&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Time-based restricted stock and restricted stock units&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;1,074&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;935&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Performance-based restricted stock and restricted stock units&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;1,642&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;724&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Employee stock purchase plan&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;166&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;98&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Total stock-based compensation&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;3,153&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;1,972&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;Total unrecognized compensation cost related to unvested awards as of March&#160;31, 2024 was $23.7&#160;million. The cost of these unvested awards is being recognized over the requisite vesting period of each award. &lt;/div&gt; </us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="PAsOn03_31_2024_TwoThousandFourteenStockIncentivePlanMemberusgaapPlanNameAxis"
      decimals="INF"
      id="ixv-8573"
      unitRef="Unit_shares">4000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-4209"> &lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The following table summarizes the Company&#x2019;s stock-based compensation grants for the three months ended March&#160;31, 2024: &lt;/div&gt; &lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:62%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:13%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:13%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Stock&#160;Awards&#160;Granted&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;display:inline;"&gt;Weighted-Average&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Grant Price&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Per Share&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Time-based restricted stock units&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;48,628&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;90.86&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Performance-based restricted stock units (a)&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;80,371&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;81.01&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Stock appreciation rights&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;33,277&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;84.72&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left;"&gt;(a)&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: left; line-height: normal;"&gt;Includes 55,834 of target performance-based restricted stock unit awards granted during the three months ended March&#160;31, 2024, and adjustments of 25,315, and (778)&#160;to grants due to the actual performance level achieved for restricted stock and restricted stock units awarded in 2023 and 2021, respectively. &lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="P01_01_2024To03_31_2024_TimeBasedRestrictedStockUnitsMemberusgaapAwardTypeAxis"
      decimals="0"
      id="ixv-8574"
      unitRef="Unit_shares">48628</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <trex:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice
      contextRef="P01_01_2024To03_31_2024_TimeBasedRestrictedStockUnitsMemberusgaapAwardTypeAxis"
      decimals="2"
      id="ixv-8575"
      unitRef="Unit_USD_per_Share">90.86</trex:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="P01_01_2024To03_31_2024_PerformanceBasedRestrictedStockUnitsMemberusgaapAwardTypeAxis"
      decimals="0"
      id="ixv-8576"
      unitRef="Unit_shares">80371</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <trex:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice
      contextRef="P01_01_2024To03_31_2024_PerformanceBasedRestrictedStockUnitsMemberusgaapAwardTypeAxis"
      decimals="2"
      id="ixv-8577"
      unitRef="Unit_USD_per_Share">81.01</trex:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis"
      decimals="0"
      id="ixv-8578"
      unitRef="Unit_shares">33277</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <trex:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice
      contextRef="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis"
      decimals="2"
      id="ixv-8579"
      unitRef="Unit_USD_per_Share">84.72</trex:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="P01_01_2024To03_31_2024_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMemberusgaapAwardTypeAxis"
      decimals="0"
      id="ixv-8580"
      unitRef="Unit_shares">55834</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="P01_01_2023To12_31_2023_PerformanceBasedRestrictedStockAdjustmentMemberusgaapAwardTypeAxis"
      decimals="0"
      id="ixv-8581"
      unitRef="Unit_shares">25315</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="P01_01_2021To12_31_2021_PerformanceBasedRestrictedStockAdjustmentMemberusgaapAwardTypeAxis"
      decimals="0"
      id="ixv-8582"
      unitRef="Unit_shares">-778</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-4281"> &lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The fair value of each SAR is estimated on the date of grant using a Black-Scholes option-pricing formula. For SARs issued in the three months ended March&#160;31, 2024 and March&#160;31, 2023, the data and assumptions shown in the following table were used: &lt;/div&gt; &lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:61%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:16%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:15%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Three&#160;Months&#160;Ended&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;March&#160;31, 2024&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Three&#160;Months&#160;Ended&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;March&#160;31, 2023&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Weighted-average fair value of grants&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;44.83&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;27.19&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Dividend yield&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;0&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;0&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;%&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Average risk-free interest rate&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;4.3&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;4.0&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;%&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Expected term (years)&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Expected volatility&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;51.2&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;49.5&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;%&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsMethodUsed
      contextRef="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis"
      id="ixv-8583">Black-Scholes option-pricing formula</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsMethodUsed>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis"
      decimals="2"
      id="ixv-8584"
      unitRef="Unit_USD_per_Share">44.83</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="P01_01_2023To03_31_2023_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis"
      decimals="2"
      id="ixv-8585"
      unitRef="Unit_USD_per_Share">27.19</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis"
      decimals="2"
      id="ixv-8586"
      unitRef="Unit_pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="P01_01_2023To03_31_2023_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis"
      decimals="2"
      id="ixv-8587"
      unitRef="Unit_pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis"
      decimals="3"
      id="ixv-8588"
      unitRef="Unit_pure">0.043</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="P01_01_2023To03_31_2023_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis"
      decimals="3"
      id="ixv-8589"
      unitRef="Unit_pure">0.04</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis"
      id="ixv-8590">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="P01_01_2023To03_31_2023_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis"
      id="ixv-8591">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis"
      decimals="3"
      id="ixv-8592"
      unitRef="Unit_pure">0.512</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="P01_01_2023To03_31_2023_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis"
      decimals="3"
      id="ixv-8593"
      unitRef="Unit_pure">0.495</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-8595">The following table summarizes the Company&#x2019;s stock-based compensation expense (in thousands): &lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:82%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:4%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:4%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Three&#160;Months&#160;Ended&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;March&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2024&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2023&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Stock appreciation rights&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;271&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;215&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Time-based restricted stock and restricted stock units&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;1,074&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;935&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Performance-based restricted stock and restricted stock units&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;1,642&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;724&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Employee stock purchase plan&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;166&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;98&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Total stock-based compensation&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;3,153&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;1,972&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="P01_01_2024To03_31_2024_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis"
      decimals="-3"
      id="ixv-8596"
      unitRef="Unit_USD">271000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="P01_01_2023To03_31_2023_StockAppreciationRightsSARSMemberusgaapAwardTypeAxis"
      decimals="-3"
      id="ixv-8597"
      unitRef="Unit_USD">215000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="P01_01_2024To03_31_2024_TimeBasedRestrictedStockandRestrictedstockUnitsMemberusgaapAwardTypeAxis"
      decimals="-3"
      id="ixv-8598"
      unitRef="Unit_USD">1074000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="P01_01_2023To03_31_2023_TimeBasedRestrictedStockandRestrictedstockUnitsMemberusgaapAwardTypeAxis"
      decimals="-3"
      id="ixv-8599"
      unitRef="Unit_USD">935000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="P01_01_2024To03_31_2024_PerformanceBasedRestrictedStockAndrestrictedStockunitsMemberusgaapAwardTypeAxis"
      decimals="-3"
      id="ixv-8600"
      unitRef="Unit_USD">1642000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="P01_01_2023To03_31_2023_PerformanceBasedRestrictedStockAndrestrictedStockunitsMemberusgaapAwardTypeAxis"
      decimals="-3"
      id="ixv-8601"
      unitRef="Unit_USD">724000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="P01_01_2024To03_31_2024_EmployeeStockPurchasePlanMemberusgaapAwardTypeAxis"
      decimals="-3"
      id="ixv-8602"
      unitRef="Unit_USD">166000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="P01_01_2023To03_31_2023_EmployeeStockPurchasePlanMemberusgaapAwardTypeAxis"
      decimals="-3"
      id="ixv-8603"
      unitRef="Unit_USD">98000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="P01_01_2024To03_31_2024"
      decimals="-3"
      id="ixv-8604"
      unitRef="Unit_USD">3153000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="P01_01_2023To03_31_2023"
      decimals="-3"
      id="ixv-8605"
      unitRef="Unit_USD">1972000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="PAsOn03_31_2024"
      decimals="-5"
      id="ixv-8606"
      unitRef="Unit_USD">23700000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-4507">
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;15.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: left; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;INCOME TAXES &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The Company&#x2019;s effective tax rate for the three months ended March&#160;31, 2024 and March&#160;31, 2023, was 25.2%, which resulted in income tax expense of $29.9&#160;million and $13.8&#160;million, respectively. &lt;/div&gt; &lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;During the three months ended March&#160;31, 2024 and March&#160;31, 2023, the Company realized $0.6&#160;million and $0.2&#160;million, respectively, of excess tax benefits from stock-based awards and recorded a corresponding benefit to income tax expense. &lt;/div&gt; &lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The Company analyzes its deferred tax assets each reporting period, considering all available positive and negative evidence in determining the expected realization of those deferred tax assets. As of March&#160;31, 2024, the Company maintains a valuation allowance of $3.3&#160;million against deferred tax assets primarily related to state tax credits it estimates will expire before they are realized. &lt;/div&gt; &lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The Company operates in multiple tax jurisdictions, and, in the normal course of business, its tax returns are subject to examination by various taxing authorities. Such examinations may result in future assessments by these taxing authorities, and the Company accrues a liability when it believes that it is more likely than not that benefits of tax positions will not be realized. The Company believes that adequate provisions have been made for all tax returns subject to examination. As of March&#160;31, 2024, for certain tax jurisdictions tax years 2020 through 2023 remain subject to examination.&#160;The Company believes that adequate provisions have been made for all tax returns subject to examination. Sales made to foreign distributors are not taxable in any foreign jurisdiction as the Company does not have a taxable presence in any foreign jurisdiction. &lt;/div&gt; </us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="P01_01_2023To03_31_2023"
      decimals="3"
      id="ixv-8607"
      unitRef="Unit_pure">0.252</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="P01_01_2024To03_31_2024"
      decimals="3"
      id="ixv-8608"
      unitRef="Unit_pure">0.252</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="P01_01_2024To03_31_2024"
      decimals="-5"
      id="ixv-8609"
      unitRef="Unit_USD">29900000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="P01_01_2023To03_31_2023"
      decimals="-5"
      id="ixv-8610"
      unitRef="Unit_USD">13800000</us-gaap:IncomeTaxExpenseBenefit>
    <trex:ExcessTaxBenefitsFromStockBasedAwards
      contextRef="P01_01_2024To03_31_2024"
      decimals="-5"
      id="ixv-8611"
      unitRef="Unit_USD">600000</trex:ExcessTaxBenefitsFromStockBasedAwards>
    <trex:ExcessTaxBenefitsFromStockBasedAwards
      contextRef="P01_01_2023To03_31_2023"
      decimals="-5"
      id="ixv-8612"
      unitRef="Unit_USD">200000</trex:ExcessTaxBenefitsFromStockBasedAwards>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="PAsOn03_31_2024"
      decimals="-5"
      id="ixv-8613"
      unitRef="Unit_USD">3300000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:OpenTaxYear
      contextRef="P01_01_2024To03_31_2024_EarliestTaxYearMemberusgaapTaxPeriodAxis_InternalRevenueServiceIRSMemberusgaapIncomeTaxAuthorityNameAxis"
      id="ixv-8614">2020</us-gaap:OpenTaxYear>
    <us-gaap:OpenTaxYear
      contextRef="P01_01_2024To03_31_2024_InternalRevenueServiceIRSMemberusgaapIncomeTaxAuthorityNameAxis_LatestTaxYearMemberusgaapTaxPeriodAxis"
      id="ixv-8615">2023</us-gaap:OpenTaxYear>
    <trex:SeasonalityDisclosureTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-4521">
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;16.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: left; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;SEASONALITY &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The operating results for Trex have historically varied from quarter to quarter. Seasonal, erratic or prolonged adverse weather conditions in certain geographic regions reduce the level of home improvement and construction activity and can shift demand for its products to a later period. As part of its normal business practice and consistent with industry practice, Trex has historically offered incentive programs to its distributors and dealers to build inventory levels before the start of the prime deck-building season in order to ensure adequate availability of its product to meet anticipated seasonal consumer demand. The seasonal effects are often offset by the positive effect of the incentive programs. &lt;/div&gt; </trex:SeasonalityDisclosureTextBlock>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-4532">
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;17.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: left; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;COMMITMENTS AND CONTINGENCIES &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="margin-top:6pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Product Warranty &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The Company warrants that for the applicable warranty period its products, when properly installed, used and maintained, will be free from material defects in workmanship and materials and its decking, cladding, fascia and railing products will not split, splinter, rot or suffer structural damage from termites or fungal decay. &lt;/div&gt; &lt;div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt"&gt;&#160;&lt;/div&gt; &lt;div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"&gt; &lt;/div&gt; &lt;div style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;Products sold on or after January&#160;1, 2023: The warranty period for residential use is 50 years for Transcend&lt;div style="font-size:75%; vertical-align:top;display:inline;font-size:8.3px"&gt;&#xae;&lt;/div&gt; decking, 35 years for Select&lt;div style="font-size:75%; vertical-align:top;display:inline;font-size:8.3px"&gt;&#xae;&lt;/div&gt; decking and Universal Fascia, and 25 years for Enhance&lt;div style="font-size:75%; vertical-align:top;display:inline;font-size:8.3px"&gt;&#xae;&lt;/div&gt; decking and Transcend, Select, Enhance and Signature&lt;div style="font-size:75%; vertical-align:top;display:inline;font-size:8.3px"&gt;&#xae;&lt;/div&gt; railing. The warranty period for commercial use is 10 years, excluding Signature railing and Transcend cladding, which each have a warranty period of 25 years. The Company further warrants that Trex Transcend, Trex Enhance and Trex Select decking and cladding and Universal Fascia products will not fade in color from light and weathering exposure more than a certain amount and will be resistant to permanent staining from food and beverage substances or mold and mildew, provided the stain is cleaned within seven days of appearance, for the warranty period referred to above. If there is a breach of such warranties, the Company has an obligation either to replace the defective product or refund the purchase price. &lt;/div&gt; &lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;Products sold prior to January&#160;1, 2023: The warranty period is 25 years for residential use and 10&#160;years for commercial use. With respect to Trex Signature railing, the warranty period is 25 years for both residential and commercial use. The Company further warrants that Trex Transcend, Trex Enhance, Trex Select and Universal Fascia products will not fade in color more than a certain amount and will be resistant to permanent staining from food substances or mold, provided the stain is cleaned within seven days of appearance, for the warranty period referred to above. If there is a breach of such warranties, the Company has an obligation either to replace the defective product or refund the purchase price. &lt;/div&gt; &lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The Company maintains a warranty reserve for the settlement of its product warranty claims. The Company accrues for the estimated cost of product warranty claims at the time revenue is recognized based on such factors as historical claims experience and future claims experience. Management reviews and adjusts these estimates, if necessary, based on the differences between actual experience and historical estimates. Additionally, the Company accrues for warranty costs associated with occasional or unanticipated product quality issues if a loss is probable and can be reasonably estimated, as necessary. &lt;/div&gt; &lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The Company continues to receive and settle claims for decking products manufactured at its Nevada facility prior to 2007 that exhibit surface flaking and maintains a warranty reserve to provide for the settlement of these claims. Estimating the warranty reserve for surface flaking claims requires management to estimate (1)&#160;the number of claims to be settled with payment and (2)&#160;the average cost to settle each claim. &lt;/div&gt; &lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;To estimate the number of claims to be settled with payment, the Company utilizes actuarial techniques to determine a reasonable possible range of claims to be received and the percentage of those claims that will ultimately require payment (collectively, elements). Estimates for these elements are quantified using a range of assumptions derived from claim count history and the identification of factors influencing the claim counts to determine its best estimate of future claims for which to record a related liability. The cost per claim varies due to a number of factors, including the size of affected decks, the availability and type of replacement material used, the cost of production of replacement material and the method of claim settlement. &lt;/div&gt; &lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The Company monitors surface flaking claims activity each quarter for indications that its estimates require revision. Typically, a majority of surface flaking claims received in a year are received during the summer outdoor season, which spans the second and third quarters. It has been the Company&#x2019;s practice to utilize the actuarial techniques discussed above during the third quarter, after a significant portion of all claims has been received for the fiscal year and variances to annual claims expectations are more meaningful. &lt;/div&gt; &lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The number of incoming claims received in the three months ended March&#160;31, 2024, was lower than the number of claims received in the three months ended March&#160;31, 2023, and lower than the Company&#x2019;s expectations for 2024. Average cost per claim experienced in the three months ended March&#160;31, 2024, was lower than that experienced in the three months ended March&#160;31, 2023 and lower than the Company&#x2019;s expectations for 2024. The Company believes the reserve at March&#160;31, 2024 is sufficient to cover future surface flaking obligations. &lt;/div&gt; &lt;div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The Company&#x2019;s analysis is based on currently known facts and a number of assumptions, as discussed above, and current expectations. Projecting future events such as the number of claims to be received, the number of claims that will require payment and the average cost of claims could cause the actual warranty liabilities to be higher or lower than those projected, which could materially affect the Company&#x2019;s financial condition, results of operations or cash flows. The Company estimates that the annual number of claims received will continue to decline over time and that the average cost per claim will increase slightly, primarily due to inflation. If the level of claims received or average cost per claim differs materially from expectations, it could result in additional increases or decreases to the warranty reserve and a decrease or increase in earnings and cash flows in future periods. The Company estimates that a 10% change in the expected number of remaining claims to be settled with payment or the expected cost to settle claims may result in approximately a $1.0&#160;million change in the surface flaking warranty reserve. &lt;/div&gt; &lt;div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt"&gt;&#160;&lt;/div&gt; &lt;div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"&gt; &lt;/div&gt; &lt;div style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The following is a reconciliation of the Company&#x2019;s product warranty reserve (in thousands): &lt;/div&gt; &lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:84%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:72%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:4%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:3%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:3%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Three&#160;Months&#160;Ended&#160;March&#160;31,&#160;2024&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Product&lt;br/&gt; Warranty&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Surface&lt;br/&gt; Flaking&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Beginning balance, January&#160;1&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;12,066&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;10,112&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;22,178&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Provisions and changes in estimates&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;2,068&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;&#x2014;&#x2002;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;2,068&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Settlements made during the period&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;(924&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;)&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;(188&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;(1,112&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;)&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Ending balance, March&#160;31&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;13,210&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;9,924&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;23,134&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:84%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:72%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:4%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:3%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:3%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Three&#160;Months&#160;Ended&#160;March&#160;31,&#160;2023&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Product&lt;br/&gt; Warranty&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Surface&lt;br/&gt; Flaking&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Beginning balance, January&#160;1&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;9,694&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;15,905&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;25,599&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Provisions and changes in estimates&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;1,945&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;&#x2014;&#x2002;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;1,945&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Settlements made during the period&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;(551&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;(316&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;(867&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Ending balance, March&#160;31&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;11,088&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;15,589&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;26,677&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Legal Matters &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The Company has lawsuits, as well as other claims, pending against it which are ordinary routine litigation and claims incidental to the business.&#160;Management has evaluated the merits of these lawsuits and claims and believes that their ultimate resolution will not have a material effect on the Company&#x2019;s consolidated financial condition, results of operations, liquidity or competitive position. &lt;/div&gt; &lt;div style="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Arkansas Facility &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;In October 2021, the Company announced plans to add a third U.S.-based manufacturing facility located in Little Rock, Arkansas, on approximately 300 acres of land. The development approach and related expenditures for the new campus will be modular and calibrated to demand trends for the Company&#x2019;s outdoor living products. Construction began on the new facility in the second quarter of 2022, and in July 2022, the Company entered into a design-build agreement. Construction for the new facility will be funded primarily through the Company&#x2019;s ongoing cash generation or its line of credit. &lt;/div&gt; </us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <trex:WarrantyPeriod
      contextRef="P01_01_2024To03_31_2024_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis_ResidentialUseMemberusgaapGuaranteeObligationsByNatureAxis_TranscendDeckingMembersrtProductOrServiceAxis"
      id="ixv-8617">P50Y</trex:WarrantyPeriod>
    <trex:WarrantyPeriod
      contextRef="P01_01_2024To03_31_2024_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis_ResidentialUseMemberusgaapGuaranteeObligationsByNatureAxis_SelectDeckingAndUniversalFasciaMembersrtProductOrServiceAxis"
      id="ixv-8618">P35Y</trex:WarrantyPeriod>
    <trex:WarrantyPeriod
      contextRef="P01_01_2024To03_31_2024_EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMembersrtProductOrServiceAxis_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis_ResidentialUseMemberusgaapGuaranteeObligationsByNatureAxis"
      id="ixv-8619">P25Y</trex:WarrantyPeriod>
    <trex:WarrantyPeriod
      contextRef="P01_01_2024To03_31_2024_CommercialUseMemberusgaapGuaranteeObligationsByNatureAxis"
      id="ixv-8620">P10Y</trex:WarrantyPeriod>
    <trex:WarrantyPeriod
      contextRef="P01_01_2024To03_31_2024_CommercialUseMemberusgaapGuaranteeObligationsByNatureAxis_SignatureRailingAndTranscendCladdingMembersrtProductOrServiceAxis"
      id="ixv-8621">P25Y</trex:WarrantyPeriod>
    <trex:WarrantyPeriod
      contextRef="P01_01_2024To03_31_2024_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis_ResidentialUseMemberusgaapGuaranteeObligationsByNatureAxis"
      id="ixv-8622">P25Y</trex:WarrantyPeriod>
    <trex:WarrantyPeriod
      contextRef="P01_01_2024To03_31_2024_CommercialUseMemberusgaapGuaranteeObligationsByNatureAxis_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis"
      id="ixv-8623">P10Y</trex:WarrantyPeriod>
    <trex:WarrantyPeriod
      contextRef="P01_01_2024To03_31_2024_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMemberusgaapSupplyCommitmentAxis_ResidentialAndCommercialUseMemberusgaapGuaranteeObligationsByNatureAxis_SignatureRailingMembersrtProductOrServiceAxis"
      id="ixv-8624">P25Y</trex:WarrantyPeriod>
    <trex:PercentSensitivityChangeInExpectedSurfaceFlakingClaims
      contextRef="P01_01_2024To03_31_2024_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="2"
      id="ixv-8625"
      unitRef="Unit_pure">0.10</trex:PercentSensitivityChangeInExpectedSurfaceFlakingClaims>
    <trex:SensitivityChangeInSurfaceFlakingWarrantyReserve
      contextRef="PAsOn03_31_2024"
      decimals="-5"
      id="ixv-8626"
      unitRef="Unit_USD">1000000</trex:SensitivityChangeInSurfaceFlakingWarrantyReserve>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock contextRef="P01_01_2024To03_31_2024" id="ixv-4589"> &lt;div style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;The following is a reconciliation of the Company&#x2019;s product warranty reserve (in thousands): &lt;/div&gt; &lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:84%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:72%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:4%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:3%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:3%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Three&#160;Months&#160;Ended&#160;March&#160;31,&#160;2024&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Product&lt;br/&gt; Warranty&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Surface&lt;br/&gt; Flaking&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Beginning balance, January&#160;1&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;12,066&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;10,112&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;22,178&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Provisions and changes in estimates&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;2,068&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;&#x2014;&#x2002;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;2,068&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Settlements made during the period&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;(924&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;)&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;(188&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;(1,112&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;)&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Ending balance, March&#160;31&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;13,210&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;9,924&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;23,134&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:84%;border:0;margin:0 auto"&gt;
&lt;tr&gt;
&lt;td style="width:72%"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:4%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:3%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom;width:3%"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Three&#160;Months&#160;Ended&#160;March&#160;31,&#160;2023&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Product&lt;br/&gt; Warranty&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Surface&lt;br/&gt; Flaking&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 0.5pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Beginning balance, January&#160;1&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;9,694&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;15,905&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;25,599&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Provisions and changes in estimates&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;1,945&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;&#x2014;&#x2002;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;1,945&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Settlements made during the period&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;(551&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;(316&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;(867&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"&gt;
&lt;td style="vertical-align:top"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; line-height: normal;"&gt;Ending balance, March&#160;31&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;11,088&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;15,589&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;$&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom;text-align:right;"&gt;26,677&lt;/td&gt;
&lt;td style="white-space:nowrap;vertical-align:bottom"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size:1px"&gt;
&lt;td style="vertical-align:bottom"&gt;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align:bottom"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="PAsOn12_31_2023_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8628"
      unitRef="Unit_USD">12066000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="PAsOn12_31_2023_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8629"
      unitRef="Unit_USD">10112000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="PAsOn12_31_2023_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8630"
      unitRef="Unit_USD">22178000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="P01_01_2024To03_31_2024_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8631"
      unitRef="Unit_USD">2068000</us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="P01_01_2024To03_31_2024_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8632"
      unitRef="Unit_USD">0</us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="P01_01_2024To03_31_2024_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8633"
      unitRef="Unit_USD">2068000</us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:StandardProductWarrantyAccrualPayments
      contextRef="P01_01_2024To03_31_2024_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8634"
      unitRef="Unit_USD">924000</us-gaap:StandardProductWarrantyAccrualPayments>
    <us-gaap:StandardProductWarrantyAccrualPayments
      contextRef="P01_01_2024To03_31_2024_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8635"
      unitRef="Unit_USD">188000</us-gaap:StandardProductWarrantyAccrualPayments>
    <us-gaap:StandardProductWarrantyAccrualPayments
      contextRef="P01_01_2024To03_31_2024_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8636"
      unitRef="Unit_USD">1112000</us-gaap:StandardProductWarrantyAccrualPayments>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="PAsOn03_31_2024_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8637"
      unitRef="Unit_USD">13210000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="PAsOn03_31_2024_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8638"
      unitRef="Unit_USD">9924000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="PAsOn03_31_2024_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8639"
      unitRef="Unit_USD">23134000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="PAsOn12_31_2022_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8640"
      unitRef="Unit_USD">9694000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="PAsOn12_31_2022_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8641"
      unitRef="Unit_USD">15905000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="PAsOn12_31_2022_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8642"
      unitRef="Unit_USD">25599000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="P01_01_2023To03_31_2023_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8643"
      unitRef="Unit_USD">1945000</us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="P01_01_2023To03_31_2023_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8644"
      unitRef="Unit_USD">0</us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="P01_01_2023To03_31_2023_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8645"
      unitRef="Unit_USD">1945000</us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:StandardProductWarrantyAccrualPayments
      contextRef="P01_01_2023To03_31_2023_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8646"
      unitRef="Unit_USD">551000</us-gaap:StandardProductWarrantyAccrualPayments>
    <us-gaap:StandardProductWarrantyAccrualPayments
      contextRef="P01_01_2023To03_31_2023_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8647"
      unitRef="Unit_USD">316000</us-gaap:StandardProductWarrantyAccrualPayments>
    <us-gaap:StandardProductWarrantyAccrualPayments
      contextRef="P01_01_2023To03_31_2023_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8648"
      unitRef="Unit_USD">867000</us-gaap:StandardProductWarrantyAccrualPayments>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="PAsOn03_31_2023_ProductWarrantyMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8649"
      unitRef="Unit_USD">11088000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="PAsOn03_31_2023_SurfaceFlakingMemberusgaapContingentConsiderationByTypeAxis_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8650"
      unitRef="Unit_USD">15589000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="PAsOn03_31_2023_SurfaceFlakingWarrantyReserveMemberusgaapValuationAllowancesAndReservesTypeAxis"
      decimals="-3"
      id="ixv-8651"
      unitRef="Unit_USD">26677000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:AreaOfLand
      contextRef="PAsOn10_26_2021"
      decimals="0"
      id="ixv-8652"
      unitRef="Unit_acre">300</us-gaap:AreaOfLand>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="P01_01_2024To03_31_2024" id="ixv-8656">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrAdoptedFlag contextRef="P01_01_2024To03_31_2024" id="ixv-8657">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="P01_01_2024To03_31_2024" id="ixv-8658">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrTrmntdFlag contextRef="P01_01_2024To03_31_2024" id="ixv-8659">false</ecd:NonRule10b51ArrTrmntdFlag>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
